PBPath Journal Watch Articles


Wellcome to the PBPath Journal Watch!

This bi-monthly journal watch features exciting recently published pancreas and biliary pathology articles that will provide up to date medical knowledge in our field. These articles will be showcased in several convenient categories, including surgical pathology, cytopathology, and molecular pathology among others. The articles in each category are in no particular order.

Previous months’ issues may be found in our archive.

We encourage members to actively participate by recommending new articles and providing feedback using the forms provided.

We hope that you will enjoy the new PBPath Journal Watch!


Surgical Pathology


Pancreas


Morphology, Diagnostics, IHC

Morphology, Diagnostics, IHC


- Prognostic evaluation of pancreatic ductal adenocarcinoma: Associations between molecular biomarkers and CT imaging findings

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2019 Jan;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30718187

OBJECTIVES: To investigate association between molecular biomarkers and computed tomography (CT) imaging findings in patients with pancreatic ductal adenocarcinoma (PDAC). METHODS: Fifty-three consecutive patients with PDAC (34 men and 19 women; mean age, 70.6 ± 8.1 years; range, 56-86 years) who underwent dynamic contrast-enhanced CT prior to pancreatectomy were included. The Ki-67 index and expressions of E-cadherin, Vimentin, and TWIST were immunohistochemically evaluated. Qualitative image analysis and histogram analysis of CT numbers were conducted. Clinical and molecular biomarkers were tested as possible prognostic factors for overall survival (OS) using Kaplan-Meier method and Cox proportional hazards regression. In addition, associations between CT imaging findings and significant molecular biomarkers were investigated. RESULTS: The TNM stage (P = 0.018) and E-cadherin expression status (P = 0.018) were independently associated with OS. E-cadherin-negative PDACs had a worse prognosis than E-cadherin-positive PDACs (hazard ratio: 2.21). Irregular tumor margin was observed more frequently in E-cadherin-negative PDACs (54.7%) than in E-cadherin-positive PDACs (45.3%) (P = 0.00054). The kurtosis of CT number during the pancreatic parenchymal phase was significantly higher in E-cadherin-negative PDACs than in E-cadherin-positive PDACs (P = 0.035). CONCLUSIONS: E-cadherin suppression was found to be a prognostic factor for OS in patients with PDAC, and irregular tumor margin and kurtosis of CT numbers during the pancreatic parenchymal phase could be indicators for E-cadherin suppression.


- Microvessel Density and Impact of Angiogenesis on Survival of Resected Pancreatic Cancer Patients: A Systematic Review and Meta-analysis

Pancreas 2019 Feb;48(2):233-241

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30629030

OBJECTIVES: Angiogenesis plays a major role in tumor progression and metastasis; however, its role in pancreatic cancer (PC) remains unclear. The aim of the study was to explore the cumulative evidence concerning the impact of microvessel density (MVD), an estimator of angiogenesis, on resected PC patients. METHODS: A systematic review of literature and a meta-analysis of relevant reports were performed. Overall survival and disease-free survival were scrutinized. RESULTS: One thousand five hundred patients were analyzed. Overall survival (hazard ratio, 2.0; 95% confidence interval, 1.57-2.54; P < 0.001) and disease-free survival (hazard ratio, 1.99; 95% confidence interval, 1.24-3.2; P = 0.004) were in favor of the low-MVD group. Use of CD105 antibody and of a computerized image analysis system was found to significantly reduce the heterogeneity. Disease staging, tumor location, and grading showed significant effect on survival. CONCLUSIONS: High-MVD expression was strongly associated with poorer survival and recurrence among resected PC patients, demonstrating a negative prognostic value. Use of CD105 antibody and of a computerized image analysis system is recommended in future studies because they reduce heterogeneity of results. The potential role of MVD as a marker to select PC patients who would benefit from antiangiogenetic treatment should be further explored in clinical trials.


- Tumor-Infiltrating Platelets Predict Postsurgical Survival in Patients with Pancreatic Ductal Adenocarcinoma

Annals of surgical oncology 2018 Dec;25(13):3984-3993

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30171511

BACKGROUND: Platelets are believed to promote tumor growth and metastasis in several tumor types. The prognostic role of blood platelets in pancreatic ductal adenocarcinoma (PDAC) remains controversial, and the prognostic value of tumor-infiltrating platelets (TIPs) remains unknown. METHODS: A total of 303 patients who underwent curative pancreatectomy for PDAC were enrolled from two independent centers in China and divided into three cohorts. Paired preoperative blood samples and surgical specimens from all patients were analyzed. The correlations between patient outcomes and preoperative blood platelet counts and the presence of TIPs, respectively, were analyzed. TIPs were identified by immunohistochemical staining of CD42b. Prognostic accuracy was estimated by concordance index (C-index) and Akaike information criterion (AIC). RESULTS: TIPs, but not preoperative blood platelet counts, were associated with overall survival (OS; all P < 0.001) and recurrence-free survival (RFS; all P < 0.001) in the training, testing, and validation sets. Positive CD42b expression predicted poor postsurgical survival. Incorporation of TIPs improved the predictive accuracy of the 8th edition American Joint Committee on Cancer (AJCC) tumor-node-metastasis (TNM) staging system for OS in each of the three cohorts (C-index: 0.7164, 0.7569, and 0.7050, respectively; AIC: 472, 386, and 1019, respectively). The new predictor system was validated by incorporating TIPs with the 7th edition AJCC TNM staging system (C-index: 0.7052, 0.7623, and 0.7157; AIC: 476, 386, and 1015). CONCLUSION: TIPs were an independent prognostic factor that could be incorporated into the AJCC TNM staging system to refine risk stratification and predict surgical outcomes of patients with PDAC.


Back to top


Staging

Pancreas TNM staging, Margins, Survival


  • Association Between Very Small Tumor Size and Decreased Overall Survival in Node-Positive Pancreatic Cancer.

https://www.ncbi.nlm.nih.gov/pubmed/30298331


- Validation of the eighth edition of the American Joint Committee on Cancer staging system and proposal of an improved staging system for pancreatic ductal adenocarcinoma

Annals of hepato-biliary-pancreatic surgery 2019 Feb;23(1):46-55

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30863807

Backgrounds/Aims: This study aimed to validate the eighth edition of the American Joint Committee on Cancer (AJCC) staging system for pancreatic adenocarcinoma and to propose an improved staging system for this disease. Methods: Between 2000 and 2014, 1656 patients underwent surgical resection for pancreatic ductal adenocarcinoma at Asan Medical Center, Seoul, South Korea. The 1169 patients included in this study were recategorized according to the eighth edition of the AJCC staging system. Patients were also categorized according to a new staging system, based on tumor size and number of metastatic lymph nodes. Results: The seventh edition of the AJCC staging system categorized 93.7% of patients as having stage T3 tumors. Stages were distributed more evenly with the eighth edition. In the N0 group, classification according to the seventh edition showed no statistically significant differences in survival rate between patients with T1 and T2 (p=0.717) and with IA and IB (p=0.717) tumors. Survival rates classified according to the eighth edition differed significantly for all pairs of T stages (p<0.05). With both editions, N stages showed statistically significant differences (p<0.05). Reanalysis showed that a staging system using a tumor size ≥3 cm and ≥1 metastatic lymph nodes was more predictive of survival rates. Conclusions: Compared with the seventh edition, the eighth edition of the AJCC staging system for pancreatic adenocarcinoma showed a more even distribution in T stage but marginal differences in other stages. The proposed system, using tumor size and number of metastatic lymph nodes, was better at predicting survival.

30902419

- Should a standard lymphadenectomy include the No. 9 lymph nodes for body and tail pancreatic ductal adenocarcinoma?

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2019 Mar;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30902419

OBJECTIVES: This study aimed to use a retrospective data base to investigate whether a standard lymphadenectomy during distal pancreatectomy should include the No. 9 lymph nodes (LNs) for resectable pancreatic ductal adenocarcinoma (PDAC) located in the body and tail of the pancreas. METHODS: Data from 169 patients undergoing curative distal pancreatectomy for PDAC between Jan 1, 2013 and Dec 31, 2016 were collected. According to the tumor location, patients were divided into three groups: pancreatic neck tumor, pancreatic body and tail tumor with margin-to-bifurcation-distance (MTBD) ≤ 2.5 cm and pancreatic body and tail tumor with MTBD > 2.5 cm. The metastatic rate of the No. 9 LNs was compared among the 3 groups. The survival outcomes were analyzed. RESULTS: The involvement rate for No. 9 LNs was 20.7% (6/29) for pancreatic neck tumors, 17.6% (15/85) for body and tail tumors with MTBD ≤ 2.5 cm and 1.8% (1/55) for MTBD > 2.5 cm. The No. 9 LNs were significantly more frequently involved in neck or body and tail tumors with MTBD ≤2.5 cm than with the cases with MTBD >2.5 cm (OR 0.082, P = 0.016). No. 9 LN involvement was not associated with worse survival compared with survival associated with involvement of other LNs (P = 0.780). CONCLUSIONS: For PDAC located in the neck or in the body and tail of the pancreas with MTBD ≤ 2.5 cm, the involvement rate for No. 9 LNs is high. Standard lymphadenectomy should include the No. 9 LNs.


Back to top


Preneoplastic and Preinvasive Lesions

Preneoplastic and Preinvasive Lesions, PanIN, IPMN, MCN, ICPN


Back to top


Microenvironment

Tumor Stroma Interactions, Microenvironment, Inflammatory Response


- Immune cell score in pancreatic cancer-comparison of hotspot and whole-section techniques

Virchows Archiv : an international journal of pathology 2019 Mar;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30843106

An immune cell score (ICS) was introduced for predicting survival in pancreatic ductal adenocarcinoma (PDAC). Few studies have compared different methods of evaluating immune infiltrate. This study compared ICSs determined in whole sections or tissue microarray-like hotspots for predicting survival after PDAC surgery. We included in 79 consecutive patients from a single geographical area that underwent surgery for PDAC (R0/R1, stages I-III). We performed digital image analyses to evaluate CD3 and CD8 staining. ICSs were classified as low, moderate, or high, based on the numbers of immune cells in the tumour core and invasive margin. We compared ICS groups determined with the hotspot and whole-section techniques. Associations between ICS and survival were analysed with Cox regression models, adjusted for sex, age, tumour stage, differentiation grade, perineural invasion, and resection radicality. In hotspot ICS analysis, 5-year overall survival rates for low, moderate, and high groups were 12.1%, 26.3%, and 26.8%, respectively (p = 0.193). In whole-section analyses, overall survival rates were 5.3%, 26.4%, and 43.8%, respectively (p = 0.030). In the adjusted Cox model, whole-section ICS groups were inversely associated with the overall mortality hazard ratio (HR): low, moderate, and high ICS groups had HRs of 1.00, 0.42 (95% CI 0.20-0.88), and 0.27 (95% CI 0.11-0.67), respectively. The number of immune cells per square millimetre in the tumour core and the invasive margin were significantly higher and had a wider range in hotspots than in whole-tissue sections. Accordingly, ICS could predict survival in patients with PDAC after surgery. Whole tissue section ICSs exhibited better prognostic value than hotspot ICSs.


- Fibroblasts in Pancreatic Ductal Adenocarcinoma: biological mechanisms and therapeutic targets

Gastroenterology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30721663

The desmoplastic reaction of pancreas cancer may begin as a wound healing response to the nascent neoplasm, but it soon creates an insidious shelter that can sustain the growing tumor and rebuff therapy. Among the many cell types subverted by transformed epithelial cells, fibroblasts are recruited and activated to lay a foundation of extracellular matrix proteins and glycosaminoglycans that alter tumor biophysics and signaling. Their near-universal presence in pancreas cancer and ostensible support of disease progression make fibroblasts attractive therapeutic targets. More recently, however, it has also become apparent that diverse subpopulations of fibroblasts with distinct phenotypes and secretomes inhabit the stroma, and that targeted depletion of particular fibroblast subsets could either provide substantial therapeutic benefit or accelerate disease progression. An improved characterization of these fibroblast subtypes, along with their potential relationships to tumor subtypes and mutational repertoires, is needed in order to make anti-fibroblast therapies clinically viable.


- Enrichment of oral microbiota in early cystic precursors to invasive pancreatic cancer

Gut 2019 Mar;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30872392

OBJECTIVES: Intraductal papillary mucinous neoplasms (IPMNs) are pancreatic cysts that can progress to invasive pancreatic cancer. Associations between oncogenesis and oral microbiome alterations have been reported. This study aims to investigate a potential intracystic pancreatic microbiome in a pancreatic cystic neoplasm (PCN) surgery patient cohort. DESIGN: Paired cyst fluid and plasma were collected at pancreatic surgery from patients with suspected PCN (n=105). Quantitative and qualitative assessment of bacterial DNA by qPCR, PacBio sequencing (n=35), and interleukin (IL)-1β quantification was performed. The data were correlated to diagnosis, lesion severity and clinical and laboratory profile, including proton-pump inhibitor (PPI) usage and history of invasive endoscopy procedures. RESULTS: Intracystic bacterial 16S DNA copy number and IL-1β protein quantity were significantly higher in IPMN with high-grade dysplasia and IPMN with cancer compared with non-IPMN PCNs. Despite high interpersonal variation of intracystic microbiota composition, bacterial network and linear discriminant analysis effect size analyses demonstrated co-occurrence and enrichment of oral bacterial taxa including Fusobacterium nucleatum and Granulicatella adiacens in cyst fluid from IPMN with high-grade dysplasia. The elevated intracystic bacterial DNA is associated with, but not limited to, prior exposure to invasive endoscopic procedures, and is independent from use of PPI and antibiotics. CONCLUSIONS: Collectively, these findings warrant further investigation into the role of oral bacteria in cystic precursors to pancreatic cancer and have added values on the aetiopathology as well as the management of pancreatic cysts.


Back to top


SPN

Solid Pseudopapillary Neoplasm


- Clear Cell Variant of Solid Pseudopapillary Neoplasm of the Pancreas: A Report of a Rare Variant and Review of the Literature

International journal of surgical pathology 2019 Mar;():1066896919833790

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30845855

The clear cell variant of solid pseudopapillary neoplasm (ccSPN) of the pancreas was first described in 2006. In this article, we report a case of this rare variant and review the few published reports. Both the current and previous reports show that ccSPN has several morphologic differences from conventional SPN, including clear vacuoles, fewer pseudopapillary formations, more solid/diffuse architecture, less hemorrhage, and fewer cholesterol clefts. Some of these features peculiar to ccSPN, such as solid/diffuse architecture, have been proposed to suggest aggressive behavior, though reports of ccSPN are rare and often have limited clinical follow-up. ccSPN also appears to occur more frequently in males than conventional SPNs. These clinical and pathologic features lead to unique set of differential diagnostic considerations for ccSPN, including metastatic renal cell carcinoma, perivascular epithelial cell tumor, and clear cell variants of other carcinomas. These unique features, atypical differential, and uncertain prognostic ramifications all make ccSPN an important variant to be aware of and report.


Back to top


Analogue Tumors & Lesions



Back to top


Pancreatitis & Other Diseases


- Local hyperthyroidism promotes pancreatic acinar cell proliferation during acute pancreatitis

The Journal of pathology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30714146

Proliferation of pancreatic acinar cells is a critical process in the pathophysiology of pancreatic diseases, because limited or defective proliferation is associated with organ dysfunction and patient morbidity. In this context, elucidating the signalling pathways that trigger and sustain acinar proliferation is pivotal to develop therapeutic interventions promoting the regenerative process of the organ. In this study we used genetic and pharmacological approaches to manipulate both local and systemic levels of thyroid hormones to elucidate their role in acinar proliferation following caerulein-mediated acute pancreatitis in mice. In addition, molecular mechanisms mediating the effects of thyroid hormones were identified by genetic and pharmacological inactivation of selected signalling pathways. In this study we demonstrated that levels of the thyroid hormone 3,3’,5-triodo-L-thyronine (T3) transiently increased in the pancreas during acute pancreatitis. Moreover, by using genetic and pharmacological approaches to manipulate both local and systemic levels of thyroid hormones, we showed that T3 was required to promote proliferation of pancreatic acinar cells, without affecting the extent of tissue damage or inflammatory infiltration. Finally, upon genetic and pharmacological inactivation of selected signalling pathways, we demonstrated that T3 exerted its mitogenic effect on acinar cells via a tightly controlled action on different molecular effectors, including histone deacetylase, AKT, and TGFβ signalling. In conclusion, our data suggest that local availability of T3 in the pancreas is required to promote acinar cell proliferation and provide the rationale to exploit thyroid hormone signalling to enhance pancreatic regeneration.


Back to top


Bile Ducts


Morphology, Diagnostics, IHC

Morphology, Diagnostics, IHC


- Overexpression of matriptase in tumor stroma is a poor prognostic indicator of extrahepatic bile duct cancer

Pathology international 2019 Feb;69(2):86-93

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30729623

Bile duct cancer is known to contain numerous fibroblasts, and reported to recruit cancer- associated fibroblasts by secreting platelet-derived growth factor-D (PDGF-D) which needs serine proteases, such as matriptase, to behave as a ligand. However, their expression pattern, and prognostic value have not been clarified. In this study, we investigated the clinicopathological significance of PDGF-D and matriptase expression in patients with extrahepatic bile duct cancer. The samples were obtained from 256 patients who underwent the surgical resection between 1991 and 2015, and the expression levels of PDGF-D and matriptase were evaluated immunohistochemically. Staining intensities and distribution were scored, and finally classified into low and high expression groups in cancer cells and stroma respectively. High expression of matriptase in the cancer stroma was detected in 91 tumors (40%). The high stromal matriptase expression was significantly associated with shorter recurrence-free survival (RFS) and overall survival (OS) (P = 0.0027 and 0.0023, respectively). Multivariate analyses also demonstrated that the stromal matriptase expression level was an independent influential factor in RFS (P = 0.0050) and OS (P = 0.0093). Our findings suggest that the high stromal matriptase expression was strongly associated with tumor progression, recurrence and poor outcomes in patients with extrahepatic bile duct cancer.


Back to top


Staging

Bile Ducts TNM staging, Margins, Survival



Back to top


Gallbladder


Morphology, Diagnostics, IHC

Morphology, Diagnostics, IHC


  • IL‐33 overexpression in gallbladder cancers associated with pancreatobiliary maljunction

https://onlinelibrary.wiley.com/doi/abs/10.1111/his.13863


Back to top


Staging

Gallbladder TNM staging, Margins, Survival


- The optimal number of lymph nodes to evaluate among patients undergoing surgery for gallbladder cancer: Correlating the number of nodes removed with survival in 6531 patients

Journal of surgical oncology 2019 Mar;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30864246

BACKGROUND: The aim of the current study was to identify the minimum number and the optimal range of lymph nodes (LNs) to be examined among patients with gallbladder cancer (GBC). METHODS: Between January 1, 2004, and December 31, 2015, patients with a diagnosis of GBC were identified in the National Cancer Database. A machine-based learning approach was used to identify the minimum number and range of LNs to evaluate relative to long-term outcomes. RESULTS: Among 6531 patients with GBC, median number of LNs evaluated was 2 (IQR:1-5); only 21.1% (n = 1376) of patients had 6 or more LNs evaluated. The median number of metastatic LNs was 0 (IQR: 0-1). On multivariable analysis, evaluation of < 4 LNs was associated with a higher hazard of death (referent 4-7 LNs: < 4 LNs, HR = 1.27, 95% CI, 1.16-1.40; P < 0.001), whereas, patients who had 4 to 7 LNs and > 7 LNs evaluated had comparable long-term mortality risk (HR = 1.10, 95%CI, 0.98-1.24; P = 0.11). There was no difference in the proportion of patients who had at least one metastatic LN identified per T category based on total number of nodes resected (all P > 0.05). CONCLUSION: The overwhelming majority of patients did not have the American Joint Committee on Cancer (AJCC) recommended 6 total LN count . A machine-based learning approach identified evaluation of 4 to 7 LNs as the LN number associated with optimal staging and survival. While obtaining 6 LNs may be challenging, evaluation of at least 4 LNs may be a more appropriate threshold as this cut-off value was associated with optimal patient outcomes and staging.


  • Prognostic Impact of Lymph Node Excision in T1 and T2 Gallbladder Cancer: a Population-Based and Propensity Score-Matched SEER Analysis

https://link.springer.com/article/10.1007/s11605-019-04175-3


Back to top


Ampulla of Vater


Morphology, Diagnostics, IHC

Morphology, Diagnostics, IHC


- Identification of ampullary carcinoma mixed subtype using a panel of six antibodies and its clinical significance

Journal of surgical oncology 2019 Mar;119(3):295-302

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30548547

OBJECTIVES: To investigate the function of immunomarkers CK7, CK20, CK17, CDX2, MUC1, and MUC2 in the identification of primary ampullary carcinoma mixed subtype. METHODS: Forty-two cases of primary ampullary carcinoma were performed by immunohistochemical studies. The correlation between the mixed subtype and the other two subtypes and patient survival data was analyzed using the SPSS 16.0 statistical software. RESULTS: Among 42 cases, 12 (28.6%) cases were classified as mixed subtype, which showed variable expression patterns: 91.7% (11/12) for CK7, 83.3% (10/12) for CK20; 66.7% (8/12) for CK17, CDX2, and MUC1; and 50% (6/12) for MUC2. Ten (83.3%) mixed types coexpressed four or more immunomarkers. Eight (19%) intestinal subtypes mainly showed a positive expression of CK20, CDX2, and MUC2. Twenty-two (52.4%) pancreaticobiliary subtypes showed a positive expression of CK7, MUC1, and CK17. Stages III and IV diseases in mixed subtype (25%) and intestinal subtype (25%) were less than pancreaticobiliary subtype(63.6%) (p = 0.039). Follow-up data appeared to show a better survival rate for patients with mixed subtype than those with pancreaticobiliary subtypes. CONCLUSION: Immunohistochemical staining provided a more reliable means of diagnosing mixed ampulla carcinoma. Accurate subtyping of ampullary carcinoma is clinically important to select effective chemotherapy regimens and to assess disease prognosis.


- Clinical relevance of pancreatobiliary and intestinal subtypes of ampullary and duodenal adenocarcinoma: Pattern of recurrence, chemotherapy, and survival after pancreatoduodenectomy

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2019 Jan;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30713128

BACKGROUND: The clinical relevance of the classification of ampullary adenocarcinoma (AC) into pancreatobiliary (PB) or intestinal (Int) subtypes has not been resolved. METHODS: Clinicopathological factors, survival, and localization and treatment of recurrence were investigated for patients with AC and duodenal adenocarcinoma (DC) treated by pancreatoduodenectomy from 2000 to 2015. RESULTS: A total of 109 AC (45 PB, 64 Int) and 71 DC (all Int) were identified. Median overall survival (OS) for ACPB vs DC vs ACInt was 43.6 vs 51 vs 75 months, respectively. ACPB had significantly shorter OS than ACInt (p = 0.036). However, for AC stage (HR = 2.39; 95 %CI 1.23-4.64, p = 0.010) was the only factor associated with mortality risk in multivariate analysis. Localization of recurrence (n = 88) was predominantly distant (ACPB 81.5%; ACInt 92%; DC 91.7%, p = 0.371). Post-recurrence survival (PRS) for ACPB, ACInt and DC did not differ (6.9 vs 9.2 vs 7.5 months, p = 0.755). Best supportive care or palliative chemotherapy were offered for recurrent disease to 44.5%/48.1% for ACPB, 40%/56% for ACInt, and 41.7%/52.8% for DC (p = 0.947). The choice of chemotherapy regimen varied considerably. Five patients underwent surgical resection or ablation with curative intent. All deaths among ACPB were caused by recurrent disease, whereas 29.4% of ACInt and 23.1% of DC deaths was non-cancer related or caused by other specific cancer. CONCLUSION: ACPB, ACInt and DC have similar recurrence patterns and PRS. The difference in survival between ACPB and ACInt was not statistically significant when stratified by stage. The optimal chemotherapy in patients with recurrent AC remains undefined.


  • Can we classify ampullary tumours better? Clinical, pathological and molecular features. Results of an AGEO study

https://www.nature.com/articles/s41416-019-0415-8


Back to top


Staging

Ampulla of Vater TNM staging, Margins, Survival


- The Prognostic Relevance of the New 8th Edition of the Union for International Cancer Control Classification of TNM Staging for Ampulla of Vater Carcinoma

Annals of surgical oncology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30790111

OBJECTIVE: The aim of this study was to investigate the clinical relevance of the 8th edition of the Union for International Cancer Control classification of TNM staging for ampulla of Vater carcinoma (AC). METHODS: A total of 104 consecutive patients who underwent macroscopic curative resection for AC between January 2002 and September 2017 were investigated. RESULTS: Significant differences in recurrence-free survival (RFS) were found between T1a and T1b (p = 0.0030), but not between T1b and T2 (p = 0.9319), T2 and T3a (p = 0.0732), or T3a and T3b (p = 0.2118). The prognostic impact of the depth of duodenal invasion and pancreatic invasion, which define the T category, were evaluated. With regard to duodenal invasion, significant differences in RFS were found between the negative and submucosa classifications (p = 0.0012) and the muscularis propria and serosa classifications (p = 0.0131), but not between the submucosa and muscularis propria classifications (p = 0.6390). With regard to pancreatic invasion, significant differences in RFS were found between the negative and ≤ 0.5 cm classifications (p = 0.0001), and ≤ 0.5 cm and > 0.5 cm classifications (p = 0.0062). A Cox proportional hazard analysis for RFS revealed that duodenal invasion (submucosa or muscularis propria/negative, hazard ratio [HR] 5.08; serosa/negative, HR 7.42), and pancreatic invasion (≤ 0.5 cm/negative, HR 8.23; > 0.5 cm/negative, HR 9.81) were independent prognostic factors. An alternative new T category was proposed, based on the HRs, as follows: T1, tumor limited to the ampulla of Vater or sphincter of Oddi; T2, duodenal invasion (submucosa or muscularis propria); T3, pancreatic invasion (≤ 0.5 cm) or duodenal invasion (serosa); and T4, pancreatic invasion (> 0.5 cm). This alternative T category can well classify each subgroup with prognostic differences. CONCLUSIONS: Reconsideration of the T category based on the prognostic impact of TNM factors, including the depth of duodenal and pancreatic invasion, are required in the 8th edition T category.

Also See Staging for Ampullary Carcinoma: Is Less Actually More?


Back to top


Neuroendocrine


PanNET

PanNET, Pancreatic Neuroendocrine Tumors and related neuroendocrine neoplasms


- Cystic pancreatic neuroendocrine tumors: A more favorable lesion?

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2019 Jan;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30704851

BACKGROUND: Pancreatic neuroendocrine tumors (PNETs) are predominantly solid lesions with malignant potential. Cystic PNETs are a small subset in which data are scarce. The aim of this study was to compare clinical and biologic differences between cystic and solid PNETs. METHODS: Patients with PNETs undergoing pancreatectomy between 1988 and 2016 at a high-volume center were reviewed retrospectively. Demographic, clinical, and histopathologic data were collected and analyzed. RESULTS: 347 patients with PNETs were identified; 27% (n = 91) were cystic. Patients with cystic PNETs were generally older (59 vs. 55 years, p = 0.05). Cystic PNETs were more commonly non-functional (95% vs. 82%, p = 0.004), asymptomatic (44% vs. 28%, p = 0.009), and located in the pancreatic body/tail (81% vs. 60%, p < 0.001) than solid PNETs. Although cystic and solid PNETs had similar sizes and pathologic stage at the time of resection, Ki-67 proliferation index (Ki-67 ≤ 9%: 98% vs. 85%; p = 0.007), and histologic grade (grade I: 84% vs. 59%; p = 0.009) had less aggressive features in cystic PNETs. CONCLUSION: In addition to reporting a higher than previously published incidence of cystic PNET (27%), this study found significant differences in multiple clinicopathologic variables between cystic and solid PNETs. Cystic PNET may be a distinct and possibly less aggressive subtype of PNET yet have similar pathologic stage, recurrence, and survival to solid PNETs. Cystic PNETs require further attention to better understand the true natural history.


- Distinct clinicopathological and prognostic features of insulinoma with synchronous distant metastasis

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2019 Mar;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30850220

BACKGROUND: The clinicopathological and prognostic features of insulinoma with synchronous metastases are unclear. This study aimed to verify the distinct clinicopathological and prognostic features of insulinoma with synchronous distant metastasis. METHODS: Patients with pancreatic neuroendocrine tumor (PanNET) were retrospectively enrolled and divided into cohort 1 (Fudan University Shanghai Cancer Center) and cohort 2 (Surveillance, Epidemiology, and End Results Program database). Both cohorts were further divided into three subgroups: insulinoma, nonfunctioning pancreatic neuroendocrine tumor (NF-PanNET), and non-insulinoma functioning pancreatic neuroendocrine tumor (NiF-PanNET). RESULTS: Cohorts 1 and 2 comprised 505 and 2761 patients (1566 M0 patients and 1195 M1 patients), respectively. In cohort 1 and cohort 2 M0 subgroup, insulinoma showed longer disease-free survival, overall survival (OS), and disease-specific survival (DSS) than NiF-PanNET and NF-PanNET (not reached vs. 48 and 60months, p < 0.001; 183months vs. 87 and 109months, p < 0.001; 247months vs. 121 and 140months, p = 0.002). However, in cohort 2 M1, the mDSS for metastatic insulinoma was shorter than that for NiF-PanNET (31months vs. 61months, p = 0.045), while the mDSS and mOS were similar to those for NF-PanNET. The percentage of T1 and N0 patients was similar between the metastatic insulinoma subgroup and NiF-PanNET and NF-PanNET subgroups. The Ki-67 index and recurrence had a positive linear relationship only for NiF-PanNET and NF-PanNET (p = 0.009). CONCLUSIONS: Insulinoma with synchronous metastasis showed clinicopathological and prognostic characteristics similar to those of NF-PanNET. Metastatic insulinoma had worse prognosis than non-insulinoma F-PanNET. These findings may help in the clinical management of metastatic insulinoma.


- Neuroendocrine Tumors (NETs) of the Minor Papilla/Ampulla: Analysis of 16 Cases Underlines Homology With Major Ampulla NETs and Differences From Extra-Ampullary Duodenal NETs

The American journal of surgical pathology 2019 Mar;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30913089

Neuroendocrine tumors (NETs) of the minor papilla/ampulla (MIPA) are rare and poorly studied. Only individual case reports and no comprehensive analysis are available from the literature. We collected 16 MIPA NETs and investigated their clinicopathologic and immunohistochemical features, including markers such as somatostatin, pancreatic polypeptide, gastrin, serotonin, MUC1, cytokeratin 7, and somatostatin receptors type 2A and 5. The median age at diagnosis was 57.5 years, and the female-to-male ratio was 2.2:1. The median NET size was 1.45 cm, and most (94%) were low-grade (G1) tumors. Similarly to what was observed in the major ampulla, 3 histotypes were found: (i) ampullary-type somatostatin-producing tumors (ASTs, 10 cases), characterized by somatostatin expression in most tumor cells, focal-to-extensive tubulo-acinar structures, often with psammoma bodies, MUC1 reactivity, and no or rare membranous reactivity for somatostatin receptor type 2A; (ii) gangliocytic paragangliomas (3 cases), characterized by the coexistence of 3 tumor cell types: epithelioid, often reactive for pancreatic polypeptide, ganglion-like cells, and S100 reactive sustentacular/stromal cells; and (iii) ordinary nonfunctioning NETs (3 cases), resembling those more commonly observed in the extra-ampullary duodenum. Comparable histotypes could also be recognized among the 30 MIPA NETs from the literature. No NET-related patient death among MIPA cases was observed during a median follow-up of 38 months; however, MIPA ASTs showed lymph node metastases and invasion of the duodenal muscularis propria or beyond in 44% and 40% of cases, respectively. In conclusion, MIPA NETs closely resemble tumors arising in the major ampulla, with predominance of ASTs.


Back to top


Microenvironment

Tumor Stroma Interactions, Microenvironment, Inflammatory Response


- Characterization of the Neuroendocrine Tumor Immune Microenvironment

Pancreas 2018 10;47(9):1123-1129

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30153220

OBJECTIVES: The immune environment and the potential for neuroendocrine tumors (NETs) to respond to immune checkpoint inhibitors remain largely unexplored. We assessed immune checkpoint marker expression, lymphocytic infiltrate, and associated mutational profiles in a cohort of small intestine and pancreatic NETs. METHODS: We assessed expression of PDCD1 (PD-1), CD274 (PD-L1), and PDCD1LG2 (PD-L2) in archival tissue from 64 small intestine (SINETs) and 31 pancreatic NETs (pNET). We additionally assessed T-cell infiltrates, categorizing T-cell subsets based on expression of the T-cell markers CD3, CD8, CD45RO (PTPRC), or FOXP3. Finally, we explored associations between immune checkpoint marker expression, lymphocytic infiltrate, and tumor mutational profiles. RESULTS: Expression of PD-1 or PD-L1 in small intestine or pancreatic NET was rare, whereas expression of PD-L2 was common in both NET subtypes. T-cell infiltrates were more abundant in pNET than in SINET. We found no clear associations between immune checkpoint marker expression, immune infiltrates, and specific mutational profile within each tumor type. CONCLUSIONS: Our findings provide an initial assessment of the immune environment of well-differentiated NETs. Further studies to define the immunologic differences between pNET and SINET, as well as the role of PD-L2 in these tumors, are warranted.


Back to top


Staging

PanNET TNM staging, Margins, Survival


- A modified M-stage classification based on the metastatic patterns of pancreatic neuroendocrine neoplasms: a population-based study

BMC endocrine disorders 2018 Oct;18(1):73

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30340569

BACKGROUND: The present study aims to improve the M-stage classification of pancreatic neuroendocrine neoplasms (pNENs). METHODS: Two thousand six hundred sixty six pNENs were extracted from the Surveillance, Epidemiology, and End Results database to explore the metastatic patterns of pNENs. Metastatic patterns were categorized as single, two, or multiple (three or more) distant organ metastasis. The mean overall survival and hazard rate of different metastatic patterns were calculated by Kaplan-Meier and Cox proportional hazards models, respectively. The discriminatory capability of the modified M-stage classification was evaluated by Harrell’s concordance index. RESULTS: The overall survival time significantly decreased with an increasing number of metastatic organs. In addition, pNENs with only liver metastasis had better prognosis when compared to other metastatic patterns. Thus, we modified the M-stage classification (mM-stage) as follows: mM0-stage, tumor without metastasis; mM1-stage, tumor only metastasized to liver; mM2-stage, tumor metastasized to other single distant organ (lung, bone, or brain) or two distant organs; mM3-stage, tumor metastasized to three or more distant organs. Harrell’s concordance index showed that the modified M-stage classification had superior discriminatory capability than both the American Joint Committee on Cancer (AJCC) and the European Neuroendocrine Tumor Society (ENETS) M-stage classifications. CONCLUSIONS: The modified M-stage classification is superior to both AJCC and ENETS M-stage classifications in the prognosis of pNENs. In the future, individualized treatment and follow-up programs should be explored for patients with distinct metastatic patterns.


- Pancreatic Neuroendocrine Tumours: Grade is superior to T, N, or M status in predicting outcome and selecting patients for chemotherapy:A retrospective cohort study in the SEER database

International journal of surgery (London, England) 2019 Mar;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30872175

BACKGROUND: Pancreatic neuroendocrine tumours (pNETs) are a rare and heterogeneous group of tumours with an increasing incidence. Current staging criteria for pNETs remain limited and controversial. Meanwhlie, the impact of chemotherapy on overall survival has not been fully defined. OBJECTIVES: The current study aimed to explore epidemiologic trends of pancreatic neuroendocrine tumours (pNETs). To determine feasible improvements to staging criteria and investigate the relationship between chemotherapy and survival. METHODS: A retrospective cohort study design was used to analyse annual cancer incidence rates, patient demographics, tumour site and stage, and treatment of pNETs. Data were obtained from the National Cancer Institute’s SEER registry for all patients diagnosed with pNETs between January 1973 and December 2015. RESULTS: Patients diagnosed after 2010 were more likely to present with age greater than 45 years, T0, T1 status, N0 status, M0 status, and well differentiation. Current AJCC staging criteria was applicable to patients with well differentiation, but not other differentiation. The revised system, defined by Grade, T, N, and M status, could robustly discriminate between survival curves. Chemotherapy was associated with significantly improved survival for patients with poorly differentiated and undifferentiated tumour grading. CONCLUSIONS: Grade is superior to ‘T’, ’ N’, or ‘M’ status in predicting outcomes and selecting patients for chemotherapy. It is necessary and feasible to combine grade into current staging criteria.


Back to top


Cytopathology


Pancreas



Back to top


Bile Ducts


- Bile cytology: A new scoring system for improving diagnostic accuracy

Diagnostic cytopathology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30730608

BACKGROUND: Benign and malignant cells need to be distinguished in any cytological examination of bile. Here, we report an original scoring system to improve the diagnostic accuracy of bile cytology. METHODS: The study used 158 bile aspiration samples obtained for cytological examination. Fourteen cytological findings were used to differentiate benign and malignant samples. Statistical significance tests and multivariate analysis were used to determine and quantify significant findings and develop a scoring system. RESULTS: Four cytological findings were significant in discriminating between benign and malignant cells: abnormal chromatin, irregularly arranged nuclei, irregularly overlapped nuclei, and irregular cluster margins. Our newly developed scoring system based on these four cytological findings yielded excellent results with a sensitivity of 87%, specificity of 98%, and an odds ratio of 329. CONCLUSIONS: The use of our new scoring system is expected to contribute to the diagnostic accuracy of cytological evaluations of bile samples.


Back to top


Gallbladder


- Fine-needle aspiration cytology of gallbladder with an attempt of cytomorphological classification

CytoJournal 2019 ;16():1

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30820231

Background: Image-guided fine-needle aspiration has emerged as an effective diagnostic tool for precise diagnosis of deep-seated lesions. Although occasional studies have made an attempt to classify the gallbladder carcinoma on cytology, literature lacks the standardized cytological nomenclature system used for it. The present study was conducted to study the role of fine-needle aspiration cytology (FNAC) in diagnosis of gallbladder lesions with an attempt of cytomorphological classification. Methods: The study included cases of image-guided FNAC of the gallbladder over a period of 3½ years. An attempt was made to categorize gallbladder lesions on basis of architectural and cytomorphological features along with analysis of management. Results: The study included 433 cases and lesions were categorized on FNAC into five categories ranging from Category 1 (inadequate), Category 2 (negative for malignancy), Category 3 (atypical cells), Category 4 (highly atypical cells suggestive of malignancy), and Category 5 (positive for malignancy). The most common architectural pattern observed on FNAC of neoplasm was sheets and acini with predominance of columnar cells and adenocarcinoma being the most common malignancy. The histopathological diagnosis was available in 93 cases with cytohistopathological concordance of 94.4% in malignant cases. Conclusions: Image-guided FNAC plays an important role in diagnosis of gallbladder lesions with minimal complications. The cytomorphological classification of gallbladder lesions provides an effective base for accurate diagnosis and management. Category 3 and 4 are the most ambiguous category on FNAC which should be managed by either repeat FNAC or surgery in the light of worrisome radiological features. The vigilant examination of architectural pattern and cytomorphological features of the smears may be helpful in clinching the diagnosis and precisely subtyping malignant tumors along with prognostication of these tumors.


Back to top


Neuroendocrine



Back to top


Molecular Pathology


Pancreas


- Knockdown of KDM1B inhibits cell proliferation and induces apoptosis of pancreatic cancer cells

Pathology, research and practice 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30846414

Pancreatic cancer (PC) is one of the common malignant tumors in digestive tract with a high fatality rate. The oncogenic role of lysine-specific demethylase1 (LSD1/KDM1 A) has been well recognized in PC. While, the role of its homolog LSD2 (KDM1B) in regulating PC progression is poorly understood. In this study, we attempted to evaluate the functional role of KDM1B in PC cells. The expression of KDM1B was detected by immunohistochemistry and immunoblotting in PC tissues and cells. Lentivirus-mediated shRNA was applied to silence KDM1B in PANC-1 and SW1990 cells. Cell proliferation was measured by MTT and Celigo assay. Cell apoptosis was determined by both Caspase-Glo®3/7 assay and Flow cytometry. Intracellular signaling molecules were detected using a PathScan intracellular signaling array kit. In this study, we found KDM1B was highly expressed in PC tissues compared to paracancerous tissues. Moreover, elevated expression of KDM1B was detected in PC cell lines (BxPC-3, CFPAC-1, PANC-1 and SW1990) as compared with a normal human pancreatic duct epithelial cell line (HPDE6-C7). Further investigations revealed that KDM1B knockdown significantly inhibited PC cell proliferation. Furthermore, the apoptosis of PANC-1 and SW1990 cells was significantly increased after KDM1B knockdown. Notably, the activations of p-ERK1/2, p-Smad2, p-p53, cleaved PARP, cleaved Caspase-3, cleaved Caspase-7, p-eIF2a and Survivin were promoted by KDM1B knockdown, while IkBa was suppressed. Taken together, our findings provided new insights into the critical and multifaceted roles of KDM1B in the regulation of cell proliferation and apoptosis, and offered a potentially novel target in preventing the progression of PC.


- Real-time Targeted Genome Profile Analysis of Pancreatic Ductal Adenocarcinomas Identifies Genetic Alterations that Might be Targeted with Existing Drugs or Used as Biomarkers

Gastroenterology 2019 Mar;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30836094

BACKGROUND AND AIMS: It has been a challenge to select treatment for patients with pancreatic ductal adenocarcinomas (PDACs) based on genome alterations. We performed targeted genomic profile analyses of a large number of PDACs to assess the full spectrum of actionable genomic alterations METHODS: We performed targeted genomic profile analyses of 3594 PDAC samples from an international cohort, including capture-based targeted genomic profiling of as many as 315 cancer-associated genes and intron regions of 28 genes that are rearranged in cancer cells. Tumor mutation burden (TMB) and microsatellite instability (MSI) status were also assessed. TMB was calculated across a 1.14 Mb region; TMB-high (TMB-H) was defined as ≥20 mutations/Mb. MSI-high (MSI-H) status was assigned based on analysis of 114 intron homopolymer loci. RESULTS: KRAS, TP53, CDKN2A, and SMAD4 were the most frequently altered genes in the PDAC tissues. We found KRAS mutations in 88% of samples. Among PDACs without mutations in KRAS, we found alterations in genes whose products are in the mitogen-activated protein kinase signaling pathway and are candidate drug targets (actionable targets; n=132; 4%), as well as gene fusions (n=51), gene amplifications (n=35), genes with missense mutations (n=30), and genes that contain deletions (n=16). Many of these encode proteins in receptor tyrosine kinase, RAS, or mitogen-activated protein kinase signaling pathways. Aside from TP53, alterations in genes encoding DNA damage repair proteins (BRCA and FANC) were detected in in 14% of PDACs. Among PDACs evaluated for MSI (n=2563) and TMB (n=1021), MSI-H and/or TMB-H phenotypes were detected in 0.5% of samples. Alterations in FGF23, CCND2, PIK3CA, and FGF6 were more commonly detected in intraductal papillary mucinous neoplasm-associated PDACs. CONCLUSIONS: In targeted genomic profile analyses of 3594 PDACs, we found 17% to contain genomic alterations that might make the tumor cells susceptible to currently used anti-cancer agents. We identified mutations in genes that could contribute to progression of intraductal papillary mucinous neoplasms into malignancies. These alterations might be used as biomarkers for early detection.


- Transcriptomic analysis of the Aquaporin (AQP) gene family interactome identifies a molecular panel of four prognostic markers in patients with pancreatic ductal adenocarcinoma

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30826259

BACKGROUND: This study aimed to assess the differential gene expression of aquaporin (AQP) gene family interactome in pancreatic ductal adenocarcinoma (PDAC) using data mining techniques to identify novel candidate genes intervening in the pathogenicity of PDAC. METHOD: Transcriptome data mining techniques were used in order to construct the interactome of the AQP gene family and to determine which genes members are differentially expressed in PDAC as compared to controls. The same techniques were used in order to evaluate the potential prognostic role of the differentially expressed genes. RESULTS: Transcriptome microarray data of four GEO datasets were incorporated, including 142 primary tumor samples and 104 normal pancreatic tissue samples. Twenty differentially expressed genes were identified, of which nineteen were downregulated and one up-regulated. A molecular panel of four genes (Aquaporin 7 - AQP7; Archain 1 - ARCN1; Exocyst Complex Component 3 - EXOC3; Coatomer Protein Complex Subunit Epsilon - COPE) were identified as potential prognostic markers associated with overall survival. CONCLUSION: These outcomes should be further assessed in vitro in order to fully understand the role of these genes in the pathophysiological mechanism of PDAC.


- A pipeline for rapidly generating genetically engineered mouse models of pancreatic cancer using in vivo CRISPR-Cas9-mediated somatic recombination

Laboratory investigation; a journal of technical methods and pathology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30728464

Genetically engineered mouse models (GEMMs) that recapitulate the major genetic drivers in pancreatic ductal adenocarcinoma (PDAC) have provided unprecedented insights into the pathogenesis of this lethal neoplasm. Nonetheless, generating an autochthonous model is an expensive, time consuming and labor intensive process, particularly when tissue specific expression or deletion of compound alleles are involved. In addition, many of the current PDAC GEMMs cause embryonic, pancreas-wide activation or loss of driver alleles, neither of which reflects the cognate human disease scenario. The advent of CRISPR/Cas9 based gene editing can potentially circumvent many of the aforementioned shortcomings of conventional breeding schema, but ensuring the efficiency of gene editing in vivo remains a challenge. Here we have developed a pipeline for generating PDAC GEMMs of complex genotypes with high efficiency using a single “workhorse” mouse strain expressing Cas9 in the adult pancreas under a p48 promoter. Using adeno-associated virus (AAV) mediated delivery of multiplexed guide RNAs (sgRNAs) to the adult murine pancreas of p48-Cre; LSL-Cas9 mice, we confirm our ability to express an oncogenic Kras G12D allele through homology-directed repair (HDR), in conjunction with CRISPR-induced disruption of cooperating alleles (Trp53, Lkb1 and Arid1A). The resulting GEMMs demonstrate a spectrum of precursor lesions (pancreatic intraepithelial neoplasia [PanIN] or Intraductal papillary mucinous neoplasm [IPMN] with eventual progression to PDAC. Next generation sequencing of the resulting murine PDAC confirms HDR of oncogenic KrasG12D allele at the endogenous locus, and insertion deletion (“indel”) and frameshift mutations of targeted tumor suppressor alleles. By using a single “workhorse” mouse strain and optimal AAV serotype for in vivo gene editing with combination of driver alleles, we present a facile autochthonous platform for interrogation of the PDAC genome.


Back to top


SPN

Solid Pseudopapillary Neoplasm


- Targeted next generation sequencing of pancreatic solid pseudopapillary neoplasms show mutations in Wnt signaling pathway genes

Pathology international 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30811747

Solid pseudopapillary neoplasms of the pancreas are rare neoplasms that have been shown to harbor recurrent somatic pathogenic variants in the beta-catenin gene, CTNNB1. Here, we used targeted next generation sequencing to analyze these tumors for other associated mutations. Six cases of solid pseudopapillary neoplasms were studied. DNA extracted from formalin-fixed paraffin embedded tissue blocks was analyzed using the Ion Torrent platform, with the 50-gene Ampliseq Cancer Hotspot Panel v2 (CHPv2), with further variant validation performed by Sanger sequencing. Four tumors (67%) were confirmed to harbor mutations within CTNNB1, two with c.109T > G p.(Ser37Ala) and two with c.94G > A p.(Asp32Asn). One case showed a frameshift deletion in the Adenomatous Polyposis Coli gene, APC c.3964delG p.(Glu1322Lysfs*93) with a variant allele frequency of 42.6%. Sanger sequencing on non-tumoral tissue confirmed the variant was somatic. The patient with the APC mutation developed metastasis and died. In addition to the four cases harboring CTNNB1 variants, we found a case characterized by poor outcome, showing a rare frameshift deletion in the APC gene. Since the APC product interacts with beta-catenin, APC variants may, in addition to CTNNB1, contribute to the pathogenesis of solid pseudopapillary neoplasms via the Wnt signaling pathway.


Back to top


Pancreatitis & Other Diseases

Molecular Studies on Pancreatitis & Other Diseases


- STING signalling protects against chronic pancreatitis by modulating Th17 response

Gut 2019 Jan;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30705050

OBJECTIVE: Chronic pancreatitis (CP) is an inflammatory disease with progressive fibrosis leading to exocrine and endocrine dysfunction. Currently, there are no approved effective therapies for CP. Stimulator of interferon genes (STING) signalling is a key innate immune sensor of DNA. In this study, we evaluated the role of STING signalling in CP. DESIGN: We used an experimental model of CP to test the effect of STING signalling in STING wild-type and knockout mice as well as bone marrow chimaeras (BMCs). STING was activated using a pharmacological agent. Since we found changes in Th17 cells, we used neutralising and control antibodies to determine the role of IL-17A. The effect of STING signalling was further explored in IL-17A generation and we examined the effect of IL-17A on pancreatic stellate cells (PSCs). Human pancreas from patients with CP and without CP were also stained for IL-17A. RESULTS: STING activation decreased CP-associated pancreatic inflammation and fibrosis, whereas absence of STING led to worsening of the disease. BMCs showed that leucocytes play an important role in STING signalling-mediated amelioration of experimental CP. STING deletion was associated with increased Th17 cell infiltration in the pancreas, whereas STING agonist limited this Th17 response. Importantly, anti-IL-17A antibody treatment mitigated the severity of CP in the absence of STING signalling. STING deficiency promoted Th17 polarisation and PSCs express functional IL-17 receptor by upregulating fibrosis genes. Compared with tumour margins, pancreas from patients with CP had significant increase in IL-17A+ cells. CONCLUSION: Unlike acute pancreatitis, STING activation is protective in CP. STING signalling is important in regulating adaptive immune responses by diminishing generation of IL-17A during CP and presents a novel therapeutic target for CP.


Back to top


Molecular Research on Microenvironment

Tumor Stroma Interactions, Microenvironment, Inflammatory Response, Microbiome


- Reliable evaluation of tumor-infiltrating lymphocytes in pancreatic cancer tissue biopsies

Oncotarget 2019 Feb;10(10):1149-1159

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30800224

Tumor-infiltrating lymphocytes (TILs) represent cancer microenvironment. We previously reported TILs was prognosticators in pancreatic ductal adenocarcinoma (PDAC) patients by immunohistochemically measuring them in surgically-resected tissues. The aim of this study was to assess how best to evaluate TILs in PDAC tissue biopsies. First, we showed expression of CD3, CD4, or CD8 genes in PDAC tissue measured by quantitative RT-PCR (RT-qPCR) was prognostic using 241 surgically-resected specimens. We assessed whether the TILs in biopsied tissues can be effectively evaluated by comparing between immunohistochemistry and RT-qPCR. As a study model, we sampled twenty biopsies from surgically-resected PDAC specimen (n = 17). We investigated the variation levels of TILs in the different biopsies from the same specimen and evaluated using the intraclass correlation coefficient (ICC). The ICC value was 0.58 for CD3, 0.61 for CD4, and 0.46 for CD8, respectively; these ICC values meant correlations of “moderate” to “substantial” levels. To reach “near perfect”, 3, 3, and 5 times biopsies were necessary for CD3, CD4, and CD8, respectively. When ICC values of immunolabeled TILs were of “low”, ≥6 times biopsies were necessary to reach “moderate” levels. We found that TILs measured by RT-qPCR and repeated sampling increased reliability in TILs detected from biopsied PDAC tissues.


- Activation of IGF/IGF-IR signaling pathway fails to induce epithelial-mesenchymal transition in pancreatic cancer cells

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2019 Jan;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30799278

BACKGROUND: Pancreatic cancer stromal cells produce various protein factors, which presumably provide cancer cells with drug resistance and may influence their ability to form metastasis via induction of epithelial-mesenchymal transition (ЕМТ). The goal of our project was to study the effects of IGF-I on expression of protein markers of epithelial and mesenchymal differentiation, and on expression of transcriptional regulators of EMT in pancreatic cancer cell lines. METHODS: We used Western blot analysis to study the expression patterns of epithelial and mesenchymal protein markers in pancreatic cancer cell lines, which have been stimulated with IGF-I for various periods of time. The ELISA technique was employed to determine the concentration of IGF-I in conditioned media. Additionally, the effect of IGF-I on proliferation of pancreatic cancer cells was measured via MTS technique. RESULTS: We investigated the effect of IGF/IGF-IR signaling pathway activation on expression levels of cell differentiation markers in five pancreatic cancer cell lines (AsPC-1, BxPC-3, Capan-2, MiaPaCa-2 and Panc1). The IGF-I stimulation led to phosphorylation of IGF-IR and activation of PI-3K/Akt signaling cascade. At the same time our results reveal that the activation of IGF/IGF-IR signaling pathway in pancreatic cancer cells does not induce a significant shift in cell phenotype towards mesenchymal differentiation and does not induce a decrease in expression levels of epithelial protein markers. CONCLUSIONS: Our results demonstrate that IGF-I does not function as an effective inductor of EMT in pancreatic cancer cell lines and that stimulation of IGF-I/IGF-IR signaling pathway does not lead to EMT associated changes in cell differentiation.


- Signaling Networks that Control Cellular Plasticity in Pancreatic Tumorigenesis, Progression and Metastasis

Gastroenterology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30716326

Pancreatic ductal adenocarcinoma is one of the deadliest cancers, with its incidence on the rise. Major challenges in overcoming the poor prognosis presented by this disease lies in late detection and the aggressive biology of the disease. Intra-tumoral heterogeneity, presence of a robust, reactive and desmoplastic stroma as well as the crosstalk between the different tumor components indicate that a complete understanding of the pancreatic tumor biology is required to better understand the therapeutic challenges posed by this disease. In this review, we have discussed the processes involved during tumorigenesis encompassing the inherent plasticity of the transformed cells, development of tumor stroma crosstalk and enrichment of cancer stem cell population during tumorigenesis.


- Semaphorin-5A maintains epithelial phenotype of malignant pancreatic cancer cells

BMC cancer 2018 Dec;18(1):1283

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30577767

BACKGROUND: Pancreatic cancer (PC) is a highly aggressive disease, and the lethality of this disease stems from early metastatic dissemination where surgical removal cannot provide a cure. Improvement of the therapeutic outcome and overall survival of PC patients requires to understand the fundamental processes that lead to metastasis such as the gain of cellular migration ability. One such family of proteins, which are essential players of cellular migration, is Semaphorin. Previously, we have identified one of the Semaphorin family member, Semaphorin-5A (SEMA5A) to be involved in organ-specific homing during PC metastasis. We have also demonstrated that SEMA5A has a constitutive expression in PC cell lines derived from metastatic sites in comparison with low endogenous expression in the primary tumor-derived cell line. In this study, we examined whether constitutive SEMA5A expression in metastatic PC cells regulates tumor growth and metastatic potential. METHODS: We generated SEMA5A knockdown in T3M-4 and CD18/HPAF cells and assessed their phenotypes on in vitro motility, tumor growth, and metastatic progression. RESULTS: In contrary to our initial expectations, orthotopic injection of SEMA5A knockdown cells into nude mice resulted in a significant increase in both tumor burden and liver metastases in comparison with the Control cells. Similarly, we observed higher in vitro migratory potential with pronounced morphological changes associated with epithelial-mesenchymal transition (EMT), a decrease in the expression of epithelial marker E-cadherin (E-Cad), increase in the expression of mesenchymal markers N-cadherin (N-Cad) and Snail and the activation of the Wnt-signaling pathway in SEMA5A knockdown cells. Furthermore, re-establishing SEMA5A expression with a knockdown resistant mouse Sema5A in SEMA5A knockdown cells resulted in a reversion to the epithelial state (mesenchymal-epithelial transition; MET), as indicated by the rescue of E-Cad expression and a decrease in N-Cad and Snail expression. CONCLUSIONS: Collectively, our data suggest that SEMA5A expression maintains epithelial phenotype in the metastatic microenvironment.


Back to top


Preneoplastic and Preinvasive Lesions

Molecular Pathology Preneoplastic and Preinvasive Lesions, PanIN, IPMN, MCN, ICPN


- Prevalence of Germline Mutations Associated with Cancer Risk in Patients With Intraductal Papillary Mucinous Neoplasms

Gastroenterology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30716324

BACKGROUND & AIMS: Many patients with pancreatic adenocarcinoma (PDAC) carry germline mutations associated with increased risk of cancer. It is not clear whether patients with intraductal papillary mucinous neoplasms (IPMNs), which are precursors to some pancreatic cancers, also carry these mutations. We assessed the prevalence of germline mutations associated with cancer risk in patients with histologically confirmed IPMN. METHODS: We obtained non-tumor tissue from 315 patients with surgically resected IPMNs, from 1997 through 2017, and sequenced 94 genes with variants associated with cancer risk. Mutations associated with increased risk of cancer were identified and compared to individuals from the Exome Aggregation Consortium. RESULTS: We identified 23 patients with a germline mutation associated with cancer risk (7.3%; 95% CI, 4.9%-10.8%). Nine patients had a germline mutation associated with pancreatic cancer susceptibility (2.9% 95% CI, 1.4%-5.4%). More patients with IPMNs carried germline mutations in ATM (P<.0001), PTCH1 (P<.0001), and SUFU (P<.0001) compared with controls. Patients with IPMNs and germline mutations associated with pancreatic cancer were more like to have concurrent invasive pancreatic carcinoma compared to patients with IPMNs without these mutations (P<.0320). CONCLUSIONS: In sequence analyses of 315 patients with surgically resected IPMNs, we found almost 3% to carry mutations associated with pancreatic cancer risk. More patients with IPMNs and germline mutations associated with pancreatic cancer had concurrent invasive pancreatic carcinoma compared to patients with IPMNs without these mutations. Genetic analysis of patients with IPMNs might identify those at greatest risk for cancer.


Back to top


Bile Ducts



Back to top


Gallbladder



Back to top


Ampulla of Vater



Back to top


Neuroendocrine



Back to top


Others


Case Reports


Pancreas


- A case of high-grade pancreatic intraepithelial neoplasia concomitant with type 1 autoimmune pancreatitis: the process underlying both conditions

Pathology international 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30719801

We report a case of high-grade pancreatic intraepithelial neoplasia (PanIN) concomitant with lymphoplasmacytic sclerosing pancreatitis. The patient was an 82-year-old man in whom narrowing of the main pancreatic duct was detected incidentally by abdominal ultrasonography. Magnetic resonance cholangiopancreatography further revealed abrupt narrowing plus distal dilatation of the duct, from the pancreatic body to the tail. Distal pancreatectomy was performed under a preoperative diagnosis of intraductal papillary-mucinous neoplasm. Macroscopic examination of the surgical specimen showed an ill-demarcated, white-gray area and prominent pancreatic atrophy, while histological analysis detected small (<5 mm in diameter) cystic dilatations of the main pancreatic duct and some branch ducts plus pancreatic atrophy with fibrosis and fatty replacement of acinar cells. We also detected variously sized papillary projections, fused glands, and scattered focal papillary proliferation of columnar ductal epithelium comprising cells with elongated, mildly hyperchromatic nuclei, consistent with high-grade PanIN. In addition, we observed marked lymphoplasmacytic infiltration, periductal storiform fibrosis, and obliterative phlebitis. Immunohistochemical staining revealed abundant immunogloblin G4-positive plasma cells, indicative of type 1 autoimmune pancreatitis (AIP). The coexistence of high-grade PanIN and marked lymphoplasmacytic infiltration, typical of AIP, point to a close association between the former, as a carcinogenic process, and the latter, as an immune response.


  • Pancreatic cancer ‘mismatch’ in Lynch syndrome

https://bmjopengastro.bmj.com/content/6/1/e000274


Bile Ducts


Gallbladder


- ****

  • ;():*

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=


  • Mixed neuroendocrine-non-neuroendocrine carcinoma of gallbladder: case report

https://wjso.biomedcentral.com/articles/10.1186/s12957-019-1598-4


Ampulla of Vater


Adenosquamous carcinoma of the papilla of Vater: A phenotypic heterogeneity characterized by a common molecular landscape.

https://www.ncbi.nlm.nih.gov/pubmed/30417956


Molecular & Experimental Studies


- Pancreatic adenocarcinomas with mature blood vessels have better overall survival

Scientific reports 2019 Feb;9(1):1310

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30718678

Pancreatic ductal adenocarcinoma (PDAC) is known for its hypovascularity. Bevacizumab, an anti-angiogenic drug, added to standard chemotherapy demonstrated no improvement in outcome for PDAC. Therefore, we hypothesized that increased vascularity may be associated with improved outcomes in PDAC possibly due to better delivery of tumor specific immune cells. To test this hypothesis, PDAC patients were classified into either high or low CD31 expression groups utilizing mRNA expression from RNA-sequence data in The Cancer Genome Atlas (TCGA) pancreatic cancer cohort. High expression of CD31, which indicates presence of more vascular endothelial cells, was associated with significantly better OS (p = 0.002). Multivariate analysis demonstrated that residual tumor (R1, 2; p = 0.026) and CD31 low expression (p = 0.007) were the only independent predictors that negatively impacted OS. Vascular stability as well as immune response related pathways were significantly upregulated in the CD31 high expressing tumors. Furthermore, there were higher proportions of anti-cancer immune cells infiltration, including activated memory CD4+ T cells (p = 0.038), CD8+ T cells (p = 0.027), gamma-delta T cells (p < 0.001) as well as naïve B cells (p = 0.006), whereas lower proportions of regulatory T cell fractions (p = 0.009), which induce an immune tolerant microenvironment, in the CD31 high expressing tumors. These findings imply that stable vessels supply anti-cancer immune cells, which are at least partially responsible for better OS in the CD31 high expressing tumors. In conclusion, CD31 high expressing PDACs have better OS, which may be due to stable vessels that supply anti-cancer immune cells.


- LOX and ACSL5 as potential relapse markers for pancreatic cancer patients

Cancer biology & therapy 2019 Feb;():1-12

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30712446

Pancreatic cancer is one of the most malignant diseases and has a poor prognosis. The screening and validation of biomarkers with predictive value for prognosis and treatment efficacy are important. To identify potential prognostic markers of pancreatic cancer patients, we conducted a study that included 99 pancreatic cancer patients. Three patients with PFS>18 months were enrolled in the treat group, and three patients with PFS<12 months were enrolled in the control group. Differentially expressed genes (DEGs) between these two groups were analyzed by whole-genome expression microarray. A total of 178 DEGs were identified, including 110 up-regulated and 68 down-regulated genes. Next, 24 candidate genes were selected for validation by qPCR based on fold change and previous studies. The results showed that the mRNA levels of four candidate genes, including ACSL5, SLC44A4, LOX, and TOX3, were correlated with PFS. Immunohistochemical staining was performed to validate the protein expression levels of these four markers. The results showed that patients with LOX high, ACSL5 low and TOX3 low expression had a significantly shorter PFS than those with LOX low, ACSL5 high and TOX3 high expression. Multivariable analysis revealed differentiation, tumor stage, LOX expression, and ACSL5 expression were independent prognostic factors for PFS. Then, we use the TCGA database to explore the underlying mechanism of LOX influence pancreatic cancer progression. Protein-protein interaction network of ACSL5 was established by STRING to uncover the potential regulation mechanism. Our findings reveal that LOX and ACSL5 are potential prognostic markers for the prognosis of pancreatic cancer patients.


- S100A8 and S100A9 proteins form part of a paracrine feedback loop between pancreatic cancer cells and monocytes

BMC cancer 2018 Dec;18(1):1255

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30558665

BACKGROUND: The secretion of soluble factors enables communication between tumour cells and the surrounding microenvironment and plays an important role in oncogenesis. Pancreatic ductal adenocarcinoma (PDAC) is characterised by a highly reactive microenvironment, harbouring a variety of cell types, including S100A8/S100A9-expressing monocytes. S100A8/S100A9 proteins regulate the behaviour of cancer cells by inducing pre-metastatic cascades associated with cancer spread. The aim of this study was to examine how S100A8/A9 proteins mediate tumour-stroma crosstalk in PDAC. METHODS: Cytokine profiling of pancreatic cancer cell-derived conditioned media was performed using Bio-Plex Pro 27 Plex Human Cytokine assays. Protein expression and activation of downstream signalling effectors and NF-κB were assessed by western blotting analysis and reporter assays respectively. RESULTS: Stimulation of cultured pancreatic cancer cells with S100A8 and S100A9 increased the secretion of the pro-inflammatory cytokines IL-8, TNF-α, and FGF. S100A8, but not S100A9 induced PDGF secretion. Conversely, pancreatic cancer cell-derived conditioned media and the individual cytokines, TNF-α and TGF-β induced the expression of S100A8 and S100A9 proteins in the HL-60 monocytic cell line and primary human monocytes, while FGF and IL-8 induced the expression of S100A9 only. S100A8 and S100A9 activated MAPK and NF-κB signalling in pancreatic cancer. This was partially mediated via activation of the receptor of advanced glycosylation end-product (RAGE). CONCLUSION: S100A8 and S100A9 proteins induce specific cytokine secretion from PDAC cells, which in turn enhances the expression of S100A8/A9. This paracrine crosstalk could have implications for PDAC invasiveness and metastatic potential.


- Over-expression of low-density lipoprotein receptor-related Protein-1 is associated with poor prognosis and invasion in pancreatic ductal adenocarcinoma

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2019 Mar;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30902418

BACKGROUND: Low-density lipoprotein receptor-Related Protein-1 (LRP-1) has been reported to involve in tumor development. However, its role in pancreatic cancer has not been elucidated. The present study was designed to evaluate the expression of LRP-1 in Pancreatic Ductal Adenocarcinoma Cancer (PDAC) as well as its association with prognosis. METHODS: Here, 478 pancreatic cancers were screened for suitable primary PDAC tumors. The samples were analyzed using qRT-PCR, western blotting, and Immunohistochemistry (IHC) staining as well as LRP-1 expression in association with clinicopathological features. RESULTS: The relative LRP-1 mRNA expression was up-regulated in 82.3% (42/51) of the PDAC tumors and its expression (3.72 ± 1.25) was significantly higher than that in pancreatic normal margins (1.0 ± 0.23, P < 0.05). This up-regulation was stage dependent (P < 0.05). A similar pattern of LRP-1 protein expression was discovered (P < 0.05). The high expression of LRP-1 in the PDAC tissues was strongly correlated with the low survival time (P = 0.001), TNM classification (P = 0.001), low differentiations status (P = 0.001), lymphatic invasion (P = 0.01) and Perineural Invasion (PNI) status (P = 0.001). CONCLUSIONS: Our finding for the first time revealed that LRP-1 expression inversely associated with poor prognosis and PNI in PDAC tumor.


Back to top


Techniques, Research Methods, Liquid Biopsy


Techniques, Research Methods, Liquid Biopsy


- Analysis of BRCAness with multiplex ligation-dependent probe amplification using formalin-fixed and paraffin-embedded pancreatic ductal adenocarcinoma tissue obtained via endoscopic ultrasound-guided fine-needle aspiration biopsy

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30819577

BACKGROUND/OBJECTIVES: A breakthrough in chemotherapy for pancreatic ductal adenocarcinoma (PDAC) may be achieved using precision medicine, which involves identifying cases that are highly likely to respond to a certain treatment and then performing that treatment. BRCAness has been receiving attention as a novel predictor of anticancer drug sensitivity in PDAC, making the screening of BRCAness paramount. METHODS: We conducted the first-ever examination of the feasibility of analyzing BRCAness using multiplex ligation-dependent probe amplification (MLPA). Formalin-fixed paraffin-embedded (FFPE) tissue samples obtained via endoscopic ultrasound-guided fine-needle aspiration biopsy (EUS-FNAB) from 20 patients with the highest pancreatic carcinoma cell counts in tissue samples out of 40 consecutive PDAC patients who underwent EUS-FNAB at our hospital were analyzed by MLPA for BRCAness. RESULTS: We were able to accurately analyze BRCAness in 75% of the 20 cases of PDAC using FFPE tissue obtained by EUS-FNAB. BRCAness was observed in one of the 20 cases. CONCLUSIONS: In PDAC, analyzing BRCAness by MLPA using FFPE tissue obtained by EUS-FNAB offers the remarkable benefit of yielding results in a short period of time and at a low cost. In addition, this method of BRCAness analysis may prove to be a feasible and effective approach for performing precision medicine.


  • Organoid Models for Cancer Research

https://www.annualreviews.org/doi/abs/10.1146/annurev-cancerbio-030518-055702


Back to top


Reviews, Opinion Articles


  • Molecular envoys pave the way for pancreatic cancer to invade the liver

https://www.ncbi.nlm.nih.gov/pubmed/30850740

https://www.nature.com/articles/d41586-019-00710-z


- Why is Pancreatic Cancer so Deadly? The Pathologist’s View

The Journal of pathology 2019 Mar;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30838636

The remarkable aggressiveness of pancreatic cancer has never been fully explained. Although clearly multifactorial, we postulate that venous invasion, a finding seen in most pancreatic cancers but not in most cancers of other organs, may be a significant, underappreciated, contributor to the aggressiveness of this disease.


Back to top


Animal Studies



Back to top


Oncology and serum marker studies



Back to top


Epidemiology, Screening, Cancer Risk Factors


Pancreas Epidemiology Screening Cancer Risk Factors


- Early Detection of Pancreatic Cancer: Opportunities and Challenges

Gastroenterology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30721664

The vast majority of patients with pancreatic ductal adenocarcinoma (PDAC) presents with symptomatic, surgically unresectable disease. While the goal of early detection of PDAC is laudable, and likely to result in significant improvement in overall survival, the relatively low prevalence of PDAC renders general population screening infeasible. The challenges of early detection include identification of at-risk individuals in the general population who would benefit from longitudinal surveillance programs, and appropriate biomarker and imaging-based modalities utilized for PDAC surveillance in such cohorts. In recent years, various subgroups at higher than average risk for PDAC have been identified, including those with familial risk due to germline mutations, a history of pancreatitis, patients with mucinous pancreatic cysts, and elderly patients with new onset diabetes (NOD). The last two categories will be discussed at length in terms of the opportunities and challenges they present for PDAC early detection. We also discuss current and emerging imaging modalities that are critical to identifying early, potentially curable, PDAC in high-risk cohorts on surveillance.


  • Deleterious Germline Mutations Are a Risk Factor for Neoplastic Progression Among High-Risk Individuals Undergoing Pancreatic Surveillance

https://ascopubs.org/doi/abs/10.1200/JCO.18.01512


Bile Duct Epidemiology Screening Cancer Risk Factors



PanNET Epidemiology Screening Cancer Risk Factors


- The impact of surgery in metastatic pancreatic neuroendocrine tumors: a competing risk analysis

Endocrine connections 2019 Mar;8(3):239-251

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30726772

Aim The role of surgery in the treatment of metastatic pancreatic neuroendocrine tumors (PNETs) was controversial. The objectives of this study were to illustrate the impact of surgery in improving the prognosis of patients with metastatic PNETs and build nomograms to predict overall survival (OS) and cancer-specific survival (CSS) based on a large population-based cohort. Methods Patients diagnosed with metastatic PNETs between 2004 and 2015 from the Surveillance, Epidemiology, and End Results (SEER) database were retrospectively collected. Nomograms for estimating OS and CSS were established based on Cox regression model and Fine and Grey’s model. The precision of the nomograms was evaluated and compared using concordance index (C-index) and the area under receiver operating characteristic (ROC) curve (AUC). Results The study cohort included 1966 patients with metastatic PNETs. It was shown that the surgery provided survival benefit for all groups of patients with metastatic PNETs. In the whole study cohort, 1-, 2- and 3-year OS and CSS were 51.5, 37.1 and 29.4% and 53.0, 38.9 and 31.1%, respectively. The established nomograms were well calibrated, and had good discriminative ability, with C-indexes of 0.773 for OS prediction and 0.774 for CSS prediction. Conclusions Patients with metastatic PNETs could benefit from surgery when the surgery tolerance was acceptable. The established nomograms could stratify patients who were categorized as tumor-node-metastasis (TNM) IV stage into groups with diverse prognoses, showing better discrimination and calibration of the established nomograms, compared with 8th TNM stage system in predicting OS and CSS for patients with metastatic PNETs.


Ampulla of Vater Epidemiology Screening Cancer Risk Factors


- Incidence and comparative outcomes of periampullary cancer: A population-based analysis demonstrating improved outcomes and increased use of adjuvant therapy from 2004 to 2012

Journal of surgical oncology 2019 03;119(3):303-317

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30561818

BACKGROUND AND OBJECTIVES: Periampullary adenocarcinoma (PAC) is stratified anatomically: ampullary adenocarcinoma (AA), distal cholangiocarcinoma (DCC), duodenal adenocarcinoma (DA), and pancreatic ductal adenocarcinoma (PDAC). We aimed to determine differences in incidence, prognosis, and treatment in stage-matched PAC patients in a longitudinal study. METHODS: PAC patients were identified in The National Cancer Database from 2004 to 2012. Clinicopathological variables were compared between subtypes. Covariate-adjusted treatment use and OS were compared. RESULTS: The 116 705 patients with PAC were identified: 1320 (9%) AA, 3732 (3%) DCC, 7142 (6%) DA, and 95 511 (82%) PDAC. DA, DCC, and PDAC were associated with worse survival compared with AA (hazard ratio [HR], 1.10; 95% CI, 1.1-1.1; HR, 1.50; 95% CI, 1.4-1.6, and HR, 1.90; 95% CI, 1.8-1.9). Among resected patients, DA was associated with improved survival compared with AA (HR, 0.70; 95% CI, 0.67-0.75); DCC and PDAC were associated with worse survival (HR, 1.41; 95% CI, 1.31-1.53 and HR, 2.041; 95% CI, 1.07-2.12). Resected AA, PDAC, and DA, but not DCC, demonstrated significantly improved survival over the studied period. While all patients had increased adjuvant therapy (AT) receipt over time (P < 0.001), only patients with PDAC had increased neoadjuvant therapy (NAT) receipt ( P < 0.001). CONCLUSION: Resected PDAC, AA, and DA were associated with clinically significant improved survival over time, mirroring a concurrent associated increased receipt of AT.


Back to top


Journals Reviewed


Advances in Anatomic Pathology
American Journal of Clinical Pathology
The American Journal of Gastroenterology
The American Journal of Pathology
American Journal of Surgical Pathology
Annals of Diagnostic Pathology
Annals of Surgery
Annals of Surgical Oncology
Annual Review of Pathology-Mechanisms of Disease
APMIS
Applied Immunohistochemistry & Molecular Morphology
Archives of Pathology & Laboratory Medicine
Cancer
Cancer Cell
Cancer Cytopathology
Cell
Clinical Cancer Research
Cytojournal
Cytopathology
Diagnostic Cytopathology
Diagnostic Pathology
Endocrine Pathology
Experimental and Molecular Pathology
Expert Review of Molecular Diagnostics
Gastroenterology
Gut
Histology and Histopathology
Histopathology
Human Pathology
International Journal of Surgical Pathology
International Journal of Clinical and Experimental Pathology
Journal of Clinical Pathology
Journal of Molecular Diagnostics
Journal of Pathology
Laboratory investigation
Lancet
Medical Molecular Morphology
Modern Pathology
Nature
Nature Reviews Gastroenterology & Hepatology
NEJM
Pancreas
Pancreatology
Pathobiology
Pathologie Biologie
Pathology
Pathology & Oncology Research
Pathology International
Pathology Research and Practice
PNAS
Seminars in Diagnostic Pathology
Seminars in Immunopathology
Surgical pathology clinics
Virchows Archiv


Back to top


Feedback


Please send your feedbacks using the form below:

Click here for the Feedback Form



Back to top


Not in PubMed yet / Other Journals

No abstract yet, not in PubMed yet


Pancreas


Mouse Models Shed Light on the SLIT/ROBO Pathway in Pancreatic Development and Cancer.

https://www.ncbi.nlm.nih.gov/pubmed/30898261

Comparison of immune infiltrates in melanoma and pancreatic cancer highlights VISTA as a potential target in pancreatic cancer.

https://www.ncbi.nlm.nih.gov/pubmed/30635425

Tumor microenvironment participates in metastasis of pancreatic cancer.

https://www.ncbi.nlm.nih.gov/pubmed/30060755

Deleterious Germline Mutations Are a Risk Factor for Neoplastic Progression Among High-Risk Individuals Undergoing Pancreatic Surveillance

https://ascopubs.org/doi/full/10.1200/JCO.18.01512

Stromal fibronectin expression in patients with resected pancreatic ductal adenocarcinoma.

https://www.ncbi.nlm.nih.gov/pubmed/30736807

Clinical assessment of the GNAS mutation status in patients with intraductal papillary mucinous neoplasm of the pancreas

https://link.springer.com/article/10.1007/s00595-019-01797-7

Adipophilin expression is an indicator of poor prognosis in patients with pancreatic ductal adenocarcinoma: An immunohistochemical analysis.

https://www.ncbi.nlm.nih.gov/pubmed/30879968

Enrichment of oral microbiota in early cystic precursors to invasive pancreatic cancer

https://gut.bmj.com/content/early/2019/03/13/gutjnl-2018-317458.abstract


Abstracts from USCAP 2019: Pancreas, Gallbladder, Ampulla, and Extra-Hepatic Biliary Tree (1667-1734).

https://www.ncbi.nlm.nih.gov/pubmed/30886253

Abstracts from USCAP 2019: Pancreas, Gallbladder, Ampulla, and Extra-Hepatic Biliary Tree (1667-1734).

https://www.ncbi.nlm.nih.gov/pubmed/30886283

Stromal protein βig-h3 reprogrammes tumour microenvironment in pancreatic cancer.

https://www.ncbi.nlm.nih.gov/pubmed/30415234


  • Chromatin remodelling controls pancreatic tissue fate.

https://www.ncbi.nlm.nih.gov/pubmed/30890543


  • Immunoglobulin G4-Related Pancreatitis: Our Experience in a German Cohort of 59 Patients.

https://www.ncbi.nlm.nih.gov/pubmed/30855431


  • Aggressive Fibromatosis of the Pancreas: A Rare Cause of Incomplete Duodenal Obstruction.

https://www.ncbi.nlm.nih.gov/pubmed/30855430


  • Evaluation of efficacy of pancreatic juice cytology for risk classification according to international consensus guidelines in patients with intraductal papillary mucinous neoplasm; a retrospective study

https://www.sciencedirect.com/science/article/pii/S1424390319300493


  • Combination of ERK and autophagy inhibition as a treatment approach for pancreatic cancer

https://www.nature.com/articles/s41591-019-0368-8


  • Pancreatic Juice Exosomal MicroRNAs as Biomarkers for Detection of Pancreatic Ductal Adenocarcinoma

https://www.researchgate.net/publication/331415703_Pancreatic_Juice_Exosomal_MicroRNAs_as_Biomarkers_for_Detection_of_Pancreatic_Ductal_Adenocarcinoma


  • Targeted next generation sequencing of pancreatic solid pseudopapillary neoplasms show mutations in Wnt signaling pathway genes

https://onlinelibrary.wiley.com/doi/abs/10.1111/pin.12778


  • Real-time Targeted Genome Profile Analysis of Pancreatic Ductal Adenocarcinomas Identifies Genetic Alterations that Might be Targeted with Existing Drugs or Used as Biomarkers

https://www.gastrojournal.org/article/S0016-5085(19)32505-3/fulltext


  • Exosomes from Pancreatic Juice: A Step Closer to the Holy Grail?

https://link.springer.com/article/10.1245/s10434-019-07271-5


  • Significance of Cancer Cells at the Vein Edge in Patients with Pancreatic Adenocarcinoma Following Pancreatectomy with Vein Resection

https://link.springer.com/article/10.1007/s11605-019-04126-y


  • Exosomes from Pancreatic Juice: A Step Closer to the Holy Grail?

https://link.springer.com/article/10.1245/s10434-019-07271-5


  • Integrative Analysis of NovelMetabolic Subtypes in PancreaticCancer Fosters New PrognosticBiomarkers

https://iris.unito.it/retrieve/handle/2318/1694079/484693/fonc-09-00115.pdf


  • Is early-stage pancreatic adenocarcinoma truly early: stage migration on final pathology with surgery-first versus neoadjuvant therapy sequencing

https://www.sciencedirect.com/science/article/abs/pii/S1365182X19300668


  • A resected case of recurrent ITPN in the remnant pancreas after pancreatoduodenectomy

https://link.springer.com/article/10.1186/s40792-019-0590-0


  • Intraductal Oncocytic Papillary Neoplasms Clinical-Pathologic Characterization of 24 Cases, With An Emphasis on Associated Invasive Carcinomas

https://journals.lww.com/ajsp/Abstract/publishahead/Intraductal_Oncocytic_Papillary_Neoplasms_.97703.aspx


  • Systematic review of clinical prediction models for survival after surgery for resectable pancreatic cancer

https://onlinelibrary.wiley.com/doi/abs/10.1002/bjs.11111


https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6379296/

https://wjso.biomedcentral.com/articles/10.1186/s12957-019-1574-z

http://cancerdiscovery.aacrjournals.org/content/9/2/173.abstract

https://www.karger.com/Article/Abstract/497291

https://academic.oup.com/carcin/advance-article-abstract/doi/10.1093/carcin/bgz024/5308868

30348057


- Image-Based Profiling of Patient-Derived Pancreatic Tumor-Stromal Cell Interactions Within a Micropatterned Tumor Model

Technology in cancer research & treatment 2018 01;17():1533033818803632

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30348057

Pancreatic cancer is one of the most aggressive cancers with a 5-year patient survival rate of 8.2% and limited availability of therapeutic agents to target metastatic disease. Pancreatic cancer is characterized by a dense stromal cell population with unknown contribution to the progression or suppression of tumor growth. In this study, we describe a microengineered tumor stromal assay of patient-derived pancreatic cancer cells to study the heterotypic interactions of patient pancreatic cancer cells with different types of stromal fibroblasts under basal and drug-treated conditions. The population dynamics of tumor cells in terms of migration and viability were visualized as a functional end point. Coculture with cancer-associated fibroblasts increased the migration of cancer cells when compared to dermal fibroblasts. Finally, we imaged the response of a bromodomain and extraterminal inhibitor on the viability of pancreatic cancer clusters surrounding by stroma in microengineered tumor stromal assay. We visualized a codynamic reduction in both cancer and stromal cells with bromodomain and extraterminal treatment compared to the dimethyl sulfoxide-treated group. This study demonstrates the ability to engineer tumor-stromal assays with patient-derived cells, study the role of diverse types of stromal cells on cancer progression, and precisely visualize a coculture during the screening of therapeutic compounds.

30742911


- Impact of Immunotherapy after Resection of Pancreatic Cancer

Journal of the American College of Surgeons 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30742911

BACKGROUND: Adjuvant immunotherapy has improved outcomes in patients with advanced melanoma; however, the potential benefit for patients with pancreatic ductal adenocarcinoma (PDAC) remains unknown. The aim of this study is to determine the impact of adjuvant chemotherapy and immunotherapy (CTx-IT) compared to CTx alone on patient survival following resection of PDAC. STUDY DESIGN: Patients who underwent resection of PDAC from 2004 to 2015 were identified from the National Cancer Database (NCDB). Univariate and multivariate Cox proportional hazards models were utilized to determine predictors of overall survival (OS) based on the type of adjuvant therapy received. Patients who received adjuvant immunotherapy were compared to those who received adjuvant CTx alone by propensity score matching. RESULTS: Of 21,313 patients who received curative-intent resection for PDAC followed by adjuvant systemic therapy, 269 patients (1.3%) were treated with adjuvant CTx-IT. Propensity-score matching resulted in a cohort of 477 patients: (229 CTx only and 248 CTx-IT). The 5-year OS was higher in the CTx-IT group compared with CTx alone (29.2% vs. 18.3%, P=0.0045). On multivariate analysis, the addition of adjuvant immunotherapy was associated was improved overall survival (HR 0.74, P=0.007). CONCLUSION: The addition of adjuvant immunotherapy to chemotherapy is associated with improved survival compared to chemotherapy alone after curative-intent resection of pancreatic adenocarcinoma. Future research is warranted to match specific immunotherapy agents with susceptible patient populations to improve outcomes for this aggressive disease.


- Biomarker-driven and molecularly targeted therapies for pancreatic adenocarcinoma

Seminars in oncology 2018 06;45(3):107-115

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30391013

Pancreatic ductal adenocarcinoma (PDAC) remains a deadly disease with few effective treatment options. Our knowledge of molecular alterations in PDAC has significantly grown and helped identify new therapeutic targets. The success of immune checkpoint inhibition in mismatch repair deficient tumors, PARP inhibitors for tumors with DNA repair defects, and targeting hyaluronan with PEGPH20 in patients with high expressing (hyaluronan-high) tumors are examples of promising biomarker-driven therapies. We review the major biological mechanisms in PDAC and discuss current and future directions for molecularly targeted therapies in this disease.


30747828


- Prediction of Recurrence With KRAS Mutational Burden Using Ultrasensitive Digital Polymerase Chain Reaction of Radial Resection Margin of Resected Pancreatic Ductal Adenocarcinoma

Pancreas 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30747828

OBJECTIVE: Although complete surgical resection is the only curative method for pancreatic cancer, the radial resection margins of pylorus-preserving pancreaticoduodenectomy specimens might be underevaluated. METHODS: KRAS mutation was assessed with droplet digital polymerase chain reaction on cells collected from the radial resection margins of 81 patients, and the results were compared with those of conventional pathologic resection margin (pRM) evaluation. RESULTS: KRAS mutation was detected in 76 patients (94%), and molecular resection margin (mRM) positivity defined by a KRAS mutation rate of 4.19% or greater was observed in 18 patients (22%). Patients with mRM-positive had significantly worse recurrence-free survival (RFS) than those with mRM-negative in entire groups (P = 0.008) and in subgroups without chemotherapy or radiation therapy (all, P < 0.001). When combined pRMs-mRMs were evaluated, patients with combined pRM-mRM-positive (either pRM- or mRM-positive) had significantly worse RFS than those with combined resection margin-negative (both pRM and mRM negative) by univariate (P = 0.002) and multivariate (P = 0.03) analyses. CONCLUSIONS: KRAS mutational analysis with ultrasensitive droplet digital polymerase chain reaction of the radial resection margin in pancreatic cancer patients who underwent pylorus-preserving pancreaticoduodenectomy can provide more accurate information on RFS by using alone or in combination with conventional pRM evaluation, especially in patients without chemotherapy or radiation therapy.


30768986


- The role of the microbiome in immunologic development and its implication for pancreatic cancer immunotherapy

Gastroenterology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30768986

Our understanding of the microbiome and its role in immunity, cancer initiation, and cancer progression has evolved significantly over the past century. The “germ theory of cancer” was first proposed in the early 20th century, and shortly thereafter the bacterium Helicobacter pylori and later, Fusobacterium nucleatum were implicated in the development of gastric and colorectal cancers respectively. However, with the development of reliable mouse models and affordable sequencing technologies, the most fascinating aspect of the microbiome-cancer relationship, where microbes undermine cancer immune surveillance and indirectly promote oncogenesis, has only recently been described. In this review, we highlight the essential role of the microbiome in immune system development and maturation. We review how microbe-induced immune activation promotes oncogenesis, focusing particularly on pancreatic carcinogenesis, and show that modulation of the microbiome augments the anti-cancer immune response and enables successful immunotherapy against pancreatic cancer.


30428588


- From Friend to Enemy: Dissecting the Functional Alteration of Immunoregulatory Components during Pancreatic Tumorigenesis

International journal of molecular sciences 2018 Nov;19(11):

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30428588

Pancreatic ductal adenocarcinoma (PDAC) is a lethal disease with a 5-year survival rate of approximately 8%. More than 80% of patients are diagnosed at an unresectable stage due to metastases or local extension. Immune system reactivation in patients by immunotherapy may eliminate tumor cells and is a new strategy for cancer treatment. The anti-CTLA-4 antibody ipilimumab and anti-PD-1 antibodies pembrolizumab and nivolumab have been approved for cancer therapy in different countries. However, the results of immunotherapy on PDAC are unsatisfactory. The low response rate may be due to poor immunogenicity with low tumor mutational burden in pancreatic cancer cells and desmoplasia that prevents the accumulation of immune cells in tumors. The immunosuppressive tumor microenvironment in PDAC is important in tumor progression and treatment resistance. Switching from an immune tolerance to immune activation status is crucial to overcome the inability of self-defense in cancer. Therefore, thoroughly elucidation of the roles of various immune-related factors, tumor microenvironment, and tumor cells in the development of PDAC may provide appropriate direction to target inflammatory pathway activation as a new therapeutic strategy for preventing and treating this cancer.


30747829


- Development and Biological Analysis of a Novel Orthotopic Peritoneal Dissemination Mouse Model Generated Using a Pancreatic Ductal Adenocarcinoma Cell Line

Pancreas 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30747829

OBJECTIVES: Peritoneal dissemination (PD) is an important cause of morbidity and mortality among patients with pancreatic ductal adenocarcinoma (PDAC). We sought to develop and characterized a novel PD mouse model by using a previously established PDAC cell line TCC-Pan2. METHODS: TCC-Pan2 cell line was characterized for growth rate, tumor markers, histology, and somatic mutations. TCC-Pan2 cells were implanted orthotopically to produce PD. TCC-Pan2 cells from these metastatic foci were expanded in vitro and then implanted orthotopically in mice. This PD model was used for comparing the antitumor effect of paclitaxel and NK105. RESULTS: Orthotopically implanted TCC-Pan2 cells caused tumor formation and PD with high frequency in mice. A potent metastatic subline-Pan2M-was obtained. NK105 exerted a stronger antitumor effect than paclitaxel against Pan2M cells harboring a luciferase gene (Pan2MmLuc). Notably, the survival rate on day 80 in the Pan2MmLuc mouse model was 100% for the NK105 group and 0% for the paclitaxel group. CONCLUSION: TCC-Pan2 cell line and Pan2MmLuc PD model can serve as useful tools for monitoring the responses to antineoplastic agents and for studying PDAC biology.This is an open-access article distributed under the terms of the Creative Commons Attribution-Non Commercial-No Derivatives License 4.0 (CCBY-NC-ND), where it is permissible to download and share the work provided it is properly cited. The work cannot be changed in any way or used commercially without permission from the journal.


- Incidence and Mortality Rates of Second Pancreatic Cancer Among Survivors of Digestive Cancers: A Nationwide Population-Based Study

Pancreas 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30768577

OBJECTIVES: We analyzed the incidence and mortality rates of second pancreatic ductal adenocarcinoma (PDAC) among survivors of digestive cancers in South Korea. METHODS: We evaluated data from the Korea National Health Insurance to identify individuals with digestive cancers in 2005 to 2015. The standardized incidence ratios (SIRs) of second PDACs and survival rates were evaluated. RESULTS: Among 772,534 patients with first digestive cancers, 1696 (0.22%) developed second PDACs. The incidence of second PDACs increased until 10 years since the first cancer diagnosis. Patients with biliary tract cancers (BTCs) showed a higher incidence of second PDACs than did those with gastrointestinal cancers or hepatocellular carcinoma. In ages 20 to 49 years, SIRs (95% confidence interval) were higher in survivors of hepatocellular carcinoma (3.08; 1.04-3.08), gastric cancer (3.40; 1.90-3.40), colorectal cancer (5.00; 2.75-5.00), gallbladder cancer (58.52; 11.81-58.52), intrahepatic cholangiocarcinoma (86.99; 1.73-86.99), extrahepatic cholangiocarcinoma (89.41; 27.42-89.41), and ampulla of Vater cancer (156.78; 48.08-156.78). In ages 50 to 64 years, colorectal cancer (1.42; 1.04-1.42), gastric cancer (1.66; 1.29-1.66), and BTCs revealed higher SIRs. In ages more than 65 years, SIR was increased only in BTCs. Second PDACs revealed a more favorable prognosis than first PDACs. CONCLUSIONS: Careful surveillance for second PDACs after curative treatment of BTCs and colorectal cancers should be considered.


30737032


- SNHG14 enhances gemcitabine resistance by sponging miR-101 to stimulate cell autophagy in pancreatic cancer

Biochemical and biophysical research communications 2019 Mar;510(4):508-514

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30737032

BACKGROUND: Due to the poor prognosis and high mortality (over 90%), Pancreas ductal adenocarcinoma (PDAC) is listed as the 7th leading cause of cancer-related death in the world, while gemcitabine sensitivity is key important in PDAC therapy. SNHG14 is thought to be an oncogene in cancer progression. However, the possible role of SNHG14 underlying the progress of the PDAC cell, specifically in gemcitabine resistance remains to be determined. METHODS: We analyzed the PDAC-related data collected from TCGA. PDAC cell line (SW1990) was used as in vitro model. RT-qPCR and western blot were used to detect the autophagy-related gene expression level. MTT and flow cytometry approaches were used to determine cell viability and apoptosis rate. The luciferase reporter assay was used to confirm the direct interaction between SNHG14 and miR-101. The wound healing assay and transwell assay were used to detect the migration and invasion abilities of PDAC cells. RESULTS: The expression of SNHG14 was significantly higher in the PDAC tissues than in the normal tissues, while miR-101 was significantly downregulated in the PDAC tissues. Moreover, the correlation analysis showed that SNHG14 was negatively correlated with miR-101. The in vitro experiments furthermore confirmed their impacts on PDAC cells. Overexpression of SNHG14 and miR-101 inhibitor significantly enhanced cell proliferation, migration, and invasion rate of PDAC cell line. Moreover, SNHG14 knockdown and miR-101 mimics both led to attenuation of gemcitabine resistance-PDAC cell viability and promoted cell apoptosis rate, as well as the reduction of autophagy-related proteins (such as RAB5A and ATG4D). Overexpression of SNHG14 enhanced PDAC cell progression and inhibited cell apoptosis in gemcitabine treatment, as well as the increase of autophagy-related proteins, thus enhanced the chemoresistance of PDAC cells to gemcitabine. CONCLUSIONS: Collectively, we first time revealed that SNHG14 could sponge miR-101 to enhance PDAC cell progression and find the specific axis of SNHG14/miR-101/autophagy underlying the chemoresistance in PDAC cells to gemcitabine, which could promote the progress of PDAC therapy.


30747226


- A 6‑gene risk score system constructed for predicting the clinical prognosis of pancreatic adenocarcinoma patients

Oncology reports 2019 Mar;41(3):1521-1530

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30747226

Pancreatic adenocarcinoma (PAC) is the most common type of pancreatic cancer, which commonly has an unfavorable prognosis. The present study aimed to develop a novel prognostic prediction strategy for PAC patients. mRNA sequencing data of PAC (the training dataset) were extracted from The Cancer Genome Atlas database, and the validation datasets (GSE62452 and GSE79668) were acquired from the Gene Expression Omnibus database. The differentially expressed genes (DEGs) between good and poor prognosis groups were analyzed by limma package, and then prognosis‑associated genes were screened using Cox regression analysis. Subsequently, the risk score system was constructed and confirmed using Kaplan‑Meier (KM) survival analysis. After the survival associated‑clinical factors were screened using Cox regression analysis, they were performed with stratified analysis. Using DAVID tool, the DEGs correlated with risk scores were conducted with enrichment analysis. The results revealed that there were a total of 242 DEGs between the poor and good prognosis groups. Afterwards, a risk score system was constructed based on 6 prognosis‑associated genes (CXCL11, FSTL4, SEZ6L, SPRR1B, SSTR2 and TINAG), which was confirmed in both the training and validation datasets. Cox regression analysis showed that risk score, targeted molecular therapy, and new tumor (the new tumor event days after the initial treatment according to the TCGA database) were significantly related to clinical prognosis. Under the same clinical condition, 6 clinical factors (age, history of chronic pancreatitis, alcohol consumption, radiation therapy, targeted molecular therapy and new tumor (event days) had significant associations with clinical prognosis. Under the same risk condition, only targeted molecular therapy was significantly correlated with clinical prognosis. In conclusion, the 6‑gene risk score system may be a promising strategy for predicting the outcome of PAC patients.


- Emerging Role of Immune Checkpoint Blockade in Pancreatic Cancer

International journal of molecular sciences 2018 Nov;19(11):

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30405053

Immune checkpoint blockade (ICB) with programmed cell death protein-1(PD-1)/programmed death ligand -1(PD-L1) antibodies has revolutionized the management of several cancers, especially non-small cell lung cancer, melanoma, urothelial, and renal cancer. Pancreatic ductal adenocarcinoma (PDAC) is one of the most aggressive cancers associated with high morbidity and mortality. Based on available data, it’s obvious that ICB has limited success in PDACs, which can be explained by the low immunogenicity and immunosuppressive tumor microenvironment of these tumors. In this review article, we focus on PD-L1 expression and microsatellite instability (MSI) in PDAC, and their roles as prognostic and predictive markers. We also discuss data supporting combination therapies to augment cancer immunity cycle. Combining anti-PD-1/PD-L1 agents with other modalities such as vaccines, chemotherapy, and radiation could potentially overcome resistance patterns and increase immune responsiveness in PDAC.


30755305


- Targeting Pancreatic Stellate Cells in Cancer

Trends in cancer 2019 Feb;5(2):128-142

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30755305

Pancreatic stellate cells (PSCs) are the major contributor to the aggressive, metastatic, and resilient nature of pancreatic ductal adenocarcinoma (PDAC), which has a poor prognosis with a 5-year survival rate of 8%. PSCs constitute more than 50% of the tumor stroma in PDAC, where they induce extensive desmoplasia by secreting abundant extracellular matrix (ECM) proteins. In addition, they establish dynamic crosstalk with cancer cells and other stromal cells, which collectively supports tumor progression via various inter- and intracellular pathways. These cellular interactions and associated pathways may reveal novel therapeutic opportunities against this unmet clinical problem. In this review article, we discuss the role of PSCs in inducing tumor progression, their crosstalk with other cells, and therapeutic strategies to target PSCs.


30768573


- Plasma Pancreastatin Predicts the Outcome of Surgical Cytoreduction in Neuroendocrine Tumors of the Small Bowel

Pancreas 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30768573

OBJECTIVES: Elevated pancreastatin (PST) levels have been shown to be associated with poor prognosis in small bowel neuroendocrine tumors (NETs). We hypothesized that plasma PST levels that remain elevated following surgical cytoreduction portend a poor prognosis in well-differentiated small bowel NETs. METHODS: Patients diagnosed with small bowel NETs who underwent surgical cytoreduction at our institution were identified. Demographics, histopathologic characteristics, and biochemical data were collected. Only patients who had serial preoperative PST (PreopPST) and postoperative PST (PostopPST) levels were included in this study. Patients were sorted into groups by PST level to assess their response to surgical cytoreduction (group 1, PreopPST/PostopPST normal; group 2, PreopPST elevated/PostopPST normal; group 3, PreopPST/PostopPST elevated). Survival rates were calculated from the date of surgery. RESULTS: PreopPST and PostopPST levels were collected from 300 patients. Patients in groups 1 (n = 74) and 2 (n = 81) had a significant survival advantage compared with patients in group 3 (n = 145) (P < 0.0001). Kaplan-Meier 5- and 10-year survival rates were as follows: group 1: 93% and 82%; group 2: 91% and 65%; and group 3: 58% and 34%, respectively. CONCLUSIONS: Serial monitoring of plasma PST is useful in predicting long-term survival following surgical cytoreduction and can be helpful to identify patients who have a poor prognosis.


30747823


- Expression and Clinical Significance of Protein Kinase RNA-Like Endoplasmic Reticulum Kinase and Phosphorylated Eukaryotic Initiation Factor 2α in Pancreatic Ductal Adenocarcinoma

Pancreas 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30747823

OBJECTIVES: Endoplasmic reticulum stress and subsequent phosphorylation of eukaryotic initiation factor 2α (eIF2α) by protein kinase R-like endoplasmic reticulum kinase (PERK) plays an important role in the development and chemoresistance of pancreatic ductal adenocarcinoma (PDAC). However, the expression and significance of phosphorylated eIF2α (p-eIF2α) and PERK in PDAC have not been examined. METHODS: We examined p-eIF2α and PERK expression in 84 PDAC and paired normal pancreas samples by immunohistochemistry and Western blotting and correlated the results with clinicopathologic parameters and survival. RESULTS: Mean PERK H score was 140.8 in PDAC compared with 82.1 in normal pancreas (P < 0.001). High p-eIF2α expression was present in 56% of PDACs versus 7.6% of normal pancreases (P < 0.001). High PERK and p-eIF2α expression correlated with shorter overall survival (P = 0.048 and P = 0.03, respectively). By multivariate analysis, high p-eIF2α (P = 0.01), positive margin (P = 0.002), and lymph node metastasis (P = 0.01) were independent prognosticators for survival. CONCLUSIONS: The expression levels of PERK and p-eIF2α are higher in PDAC than those in normal pancreas. High levels of PERK and p-eIF2α are predictors of shorter survival in PDAC patients, suggesting that PERK and eIF2α could be promising targets in PDAC.


30756314


- Evaluation of the New American Joint Committee on Cancer Staging Manual 8th Edition for Perihilar Cholangiocarcinoma

Journal of gastrointestinal surgery : official journal of the Society for Surgery of the Alimentary Tract 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30756314

BACKGROUND: The aim was to compare the prognostic accuracy of cross-sectional imaging of the 7th and 8th editions of the American Joint Committee on Cancer(AJCC) staging system for perihilar cholangiocarcinoma(PHC). METHODS: All patients with PHC between 2002 and 2014 were included. Imaging at the time of presentation was reassessed and clinical tumor-node-metastasis (cTNM) stage was determined according to the 7th and 8th editions of the AJCC staging system. Comparison of the prognostic accuracy was performed using the concordance index (c-index). RESULTS: A total of 248 PHC patients were included;45 patients(18.1%) underwent a curative-intent resection, whereas 203 patients(81.9%) did not because they were unfit for surgery or were diagnosed with locally advanced or metastatic disease during workup. Prognostic accuracy was comparable between the 7th and 8th editions (c-index 0.57 vs 0.58). For patients who underwent a curative-intent resection, the prognostic accuracy of the 8th edition (0.67) was higher than the 7th (0.65). For patients who did not undergo a curative-intent resection, the prognostic accuracy was poor in both the 7th as the 8th editions (0.54 vs 0.57). CONCLUSION: The 7th and 8th editions of the AJCC staging system for PHC have comparable prognostic accuracy. Prognostic accuracy was particularly poor in unresectable patients.


30747827


- Performance of DAXX Immunohistochemistry as a Screen for DAXX Mutations in Pancreatic Neuroendocrine Tumors

Pancreas 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30747827

OBJECTIVES: DAXX immunohistochemistry (IHC) is often used as a surrogate for sequencing. We aimed to elucidate the sensitivity of IHC for DAXX mutation. METHODS: All pancreatic neuroendocrine tumors (PanNETs) with DAXX mutations detected by sequencing and a subset of DAXX wild-type PanNETs were analyzed for DAXX expression by IHC. RESULTS: Of 154 PanNETs with MSK-IMPACT testing, 36 (30%) harbored DAXX mutations. DAXX mutations were associated with TSC2 mutations (46% vs 10%, P < 0.0001), tended to co-occur with MEN1 mutations (63% vs 49%, P = 0.11), and tended to be mutually exclusive with ATRX mutations (11% vs 25%, P = 0.053). Of 27 available DAXX mutant PanNETs, 23 lost DAXX expression (85.2%). All 4 DAXX mutants with retained expression harbored DAXX mutations within the SUMO-interacting motif of the last exon. Telomere-specific fluorescence in situ hybridization demonstrated alternative lengthening of telomeres in all 4 cases. Of 20 PanNETs with wild-type DAXX, 19 retained DAXX IHC expression (95%). CONCLUSIONS: The sensitivity and specificity of IHC for DAXX mutation are 85% and 95%, respectively. Last exon DAXX mutant PanNETs often show alternative lengthening of telomeres despite retained DAXX expression, likely due to escape of nonmediated decay.


30768574


- Desmoplasia in Lymph Node Metastasis of Pancreatic Adenocarcinoma Reveals Activation of Cancer-Associated Fibroblasts Pattern and T-helper 2 Immune Cell Infiltration

Pancreas 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30768574

OBJECTIVES: Pancreatic ductal adenocarcinoma (PDAC) is characterized by a peritumoral proliferation of fibroblasts and extracellular matrix production known as desmoplasia. We aimed to study desmoplasia in PDAC lymph node (LN) metastases. METHODS: We evaluated LNs from 66 patients with PDAC and LN metastases. We used immunohistochemistry and real-time polymerase chain reaction to phenotype the desmoplastic response. RESULTS: Desmoplasia was identified in 57% of patients with LN metastases (Des+). Cancer-associated fibroblasts (CAFs) in Des+ expressed α-smooth muscle actin and collagen 11A1. The latter expression was present only in CAFs but not in LN stroma or in LN metastases without desmoplasia (Des-). Desmoplasia was associated with upregulation of transforming growth factor β messenger RNA. Whereas numbers of CD8+ in tumor vicinity were not different between Des+ and Des- patients (78 [SD, 57] vs 92 [SD, 52], P = 0.48, respectively), the numbers of GATA-3+ cells, a marker of T-helper 2 immune response was significantly increased (3.7 [SD, 6.3] for Des+ vs 1.3 [SD, 2.7] for Des-, P < 0.05). CONCLUSIONS: Lymph node desmoplasia is associated with CAF pattern activation and Th2 infiltration. Therapeutic modulation of desmoplasia may be relevant in the metastatic phase and influence antitumor immune response.


29860986


- Immunotherapy and Prevention of Pancreatic Cancer

Trends in cancer 2018 06;4(6):418-428

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=29860986

Pancreatic cancer is the third-leading cause of cancer mortality in the USA, recently surpassing breast cancer. A key component of pancreatic cancer’s lethality is its acquired immune privilege, which is driven by an immunosuppressive microenvironment, poor T cell infiltration, and a low mutational burden. Although immunotherapies such as checkpoint blockade or engineered T cells have yet to demonstrate efficacy, a growing body of evidence suggests that orthogonal combinations of these and other strategies could unlock immunotherapy in pancreatic cancer. In this Review article, we discuss promising immunotherapies currently under investigation in pancreatic cancer and provide a roadmap for the development of prevention vaccines for this and other cancers.


30243879


- Tumor-stromal cross-talk modulating the therapeutic response in pancreatic cancer

Hepatobiliary & pancreatic diseases international : HBPD INT 2018 Oct;17(5):461-472

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30243879

BACKGROUND: Pancreatic ductal adenocarcinoma (PDAC) is a highly malignant solid tumor with a dismal prognosis. The stroma component makes up to 90% of the tumor mass and is thought to be one of the main reasons for the tumor’s high chemoresistance. Cancer associated fibroblasts (CAFs) have previously been identified to be the key stromal players. This is the first time we provide detailed in vitro experiments investigating tumor-stromal interactions when exposed to three well-known chemotherapeutic agents. METHODS: Monocultures, indirect and direct co-cultures of two PDAC cell lines (AsPC and Panc-1) and six primary patients derived CAFs were treated with gemcitabine, nab-paclitaxel and the γ-secretase-inhibitor (GSI) DAPT. The cell viability of each component was measured with XTT. Finally, IL-6 concentrations of the supernatants were analyzed. RESULTS: On the contrary to PDAC cell lines, CAF monocultures hardly responded to any treatment which suggested that stroma (CAFs) itself is more resistant to standard chemo-treatments than the epithelial cancer cells. Moreover, only a weak chemotherapeutic response was observed in direct co-cultures of cancer cells with CAFs. A change in the morphology of direct co-cultures was accompanied with the chemoresistance. CAFs were observed to build cage-like structures around agglomerates of tumor cells. High levels of IL-6 were also associated with a reduced response to therapy. Indirect co-cultures make the tumor-stromal interaction more complex. CONCLUSIONS: CAFs are highly chemoresistant. Direct cell-cell contact and high levels of IL-6 correlate with a high chemoresistance.


30767148


- MiRNA-3653 Is a Potential Tissue Biomarker for Increased Metastatic Risk in Pancreatic Neuroendocrine Tumours

Endocrine pathology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30767148

Pancreatic neuroendocrine tumours (PNETs) are relatively uncommon, accounting for 1-2% of all pancreatic neoplasms. Tumour grade (based on the Ki67 proliferative index and mitotic rate) is associated with metastatic risk across large cohorts; however, predicting the behaviour of individual tumours can be difficult. Therefore, any tool which could further stratify metastatic risk may be clinically beneficial. We sought to investigate microRNA (miRNA) expression as a marker of metastatic disease in PNETs. Tumours from 37 patients, comprising 23 with locoregional disease (L) and 14 with distant metastases (DM), underwent miRNA profiling. In total 506 miRNAs were differentially expressed between the L and DM groups, with four miRNAs (miR-3653 upregulated, and miR-4417, miR-574-3p and miR-664b-3p downregulated) showing statistical significance. A database search demonstrated that miRNA-3653 was associated with ATRX abnormalities. Mean survival between the two groups was correlated with mean expression of miRNA-3653; however, this did not reach statistical significance (p = 0.204). Although this is a small study, we conclude that miRNA-3653 upregulation may be associated with an increased risk of metastatic disease in PNETS, perhaps through interaction with ATRX and the alternate lengthening of telomeres pathway.


29483829


- MiR-21-mediated Metabolic Alteration of Cancer-associated Fibroblasts and Its Effect on Pancreatic Cancer Cell Behavior

International journal of biological sciences 2018 ;14(1):100-110

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=29483829

In this study, we investigated whether the metabolic alteration of cancer-associated fibroblasts (CAFs) occurs via miR-21 remodeling and the effect of this alteration on pancreatic cancer cells. CAFs and normal fibroblasts (NFs) were isolated and cultured. Glucose consumption and lactic acid production were tested, and lactate dehydrogenase (LDHA), pyruvate kinase m2 (PKM2), and miR-21 expression were examined. The level of glycolysis in CAFs was determined after treatment with a miR-21 inhibitor. Primary miR-21-NC CAFs and miR-21-inhibitor CAFs were indirectly co-cultured with BxPc-3 in vitro, and the invasion capacity of these cells was determined. The aerobic oxidation index of cancer cells and the expression of succinodehydrogenase (SDH) and fumarate hydratase (FH) were assessed. Compared with NFs, CAFs showed enhanced glucose uptake capacity, lactic acid production, and elevated LDHA, PKM2, and miR-21 expression. After miR-21 inhibitor treatment, the extent of glycolysis in CAFs was reduced. After indirect co-culture with CAFs, oxidative phosphorylation and SDH, FH, and MCT expression increased in BxPc-3 cells. After co-culture with miR-21-inhibitor-CAFs, oxidative phosphorylation and invasion ability of the pancreatic cancer cells decreased. MiR-21 was involved in metabolic alteration of CAFs and affected the development of cancer cells. This metabolic alteration may be an important mechanism by which the microenvironment promotes tumor progression in a nonvascular manner.


- Reply to The relationship between obesity in adolescence and pancreatic cancer in adulthood

Cancer 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30768785


30747824


- Direct Interactions With Cancer-Associated Fibroblasts Lead to Enhanced Pancreatic Cancer Stem Cell Function

Pancreas 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30747824

OBJECTIVE: Cancer-associated fibroblasts (CAFs) play an important role in the progression of pancreatic ductal adenocarcinoma (PDAC) by promoting tumor cell migration and drug resistance. We determined the impact of CAFs on PDAC cancer stem cells (CSCs). METHODS: Fibroblast cell lines from patients’ tumors were cocultured with PDAC cells and examined for clonogenic growth and self-renewal using colony-forming assays and migration in vitro. Changes in the frequency of CSCs was determined by flow cytometry. The effect of integrin-focal adhesion kinase (FAK) signaling on CAF-mediated clonogenic growth was evaluated using short hairpin RNAs against β1 integrin and FAK as well as a small-molecule FAK inhibitor. RESULTS: Cancer-associated fibroblasts enhanced PDAC clonogenic growth, self-renewal, and migration that was associated with an increase in the frequency of CSCs. These fibroblast cells were activated by PDAC cells and increased collagen synthesis resulting in FAK activation in PDAC cells. Knockdown of β1-integrin and FAK or the inhibition of FAK kinase activity in PDAC cells abrogated the impact of CAFs on clonogenic growth. CONCLUSION: Therefore, CAFs enhance PDAC clonogenic growth, self-renewal, and the frequency of CSCs through type I collagen production that enhances integrin-FAK signaling in PDAC cells.


- Overexpression of BUB1B, CCNA2, CDC20, and CDK1 in tumor tissues predicts poor survival in pancreatic ductal adenocarcinoma

Bioscience reports 2019 Feb;39(2):

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30765611

Overexpressed genes in tumors usually contributed to aggressiveness in pancreatic ductal adenocarcinoma (PDAC). Using Gene Expression Omnibus (GEO) profiles including GSE46234, GSE71989, and GSE107610, we detected overexpressed genes in tumors with R program, which were enriched by Kyoto Encyclopedia of Genes and Genomes (KEGG), Gene ontology (GO), and Reactome pathway databases. Then, we performed a survival analysis of enriched genes based on TCGA profile. Our results revealed that high BUB1B, CCNA2, CDC20, and CDK1 expression in tumors was significantly associated with worse overall survival (OS) (Log rank P=0.00338, P=0.0447, P=0.00965, and P=0.00479, respectively), which was validated using a Kaplan-Meier plotter with a median cutoff (Log rank P=0.028, P=0.0035, P=0.039, and P=0.0033, respectively). Moreover, overexpression of BUB1B, CCNA2, CDC20, and CDK1 in tumor tissues was significantly associated with disease-free survival (DFS) in PDAC patients (Log rank P=0.00565, P=0.0357, P=0.00104, and P=0.00121, respectively). BUB1B, CCNA2, CDC20, and CDK1 were significantly overexpressed in deceased PDAC patients (all P<0.01) and in patients with recurrence/disease progression (all P<0.05). In addition, PDAC patients with neoplasms of histologic grade G3-4 had significantly higher BUB1B, CCNA2 and CDC20 levels (all P<0.05). In conclusion, the up-regulation of BUB1B, CCNA2, CDC20, CDK1, and WEE1 in tumor tissues are associated with worse OS and DFS in PDAC and is correlated with advanced tumor stage and tumor development.


30807303


- Intracholecystic Papillary Neoplasms are Distinct From Papillary Gallbladder Cancers: A Clinicopathologic and Exome-sequencing Study

The American journal of surgical pathology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30807303

Although intracholecystic papillary neoplasms (ICPNs) have been increasingly recognized, their features remain unclear because of the lack of standardized definition. This study aimed to elucidate clinicopathologic and genetic features of ICPNs using stringent diagnostic criteria. On the basis of the recently proposed criteria, gallbladder neoplasms showing delicate papillary growth were diagnosed as ICPNs, while polypoid papillary adenocarcinomas arranged in a complex architecture were categorized as papillary gallbladder cancers (GBCs). Clinicopathologic features were compared among ICPNs (n=7), papillary GBCs (n=24), and nonpapillary GBCs (n=44). Whole-exome and validation Sanger sequencing was also conducted. Gross mucin hypersecretion was detected in 3/7 ICPNs (43%), 1/24 papillary GBCs (4%), and 1/44 nonpapillary GBCs (2%) (P<0.001). All patients with ICPN lacked lymphovascular invasion and nodal metastasis, while these features were occasionally observed in patients with papillary or nonpapillary GBC (13% to 59%). ICPNs were less advanced than papillary and nonpapillary GBCs (P<0.001) with all cases of ICPNs being recurrence-free. Whole-exome and Sanger sequencing identified somatic mutations in STK11 (a causative gene of Peutz-Jegher syndrome; n=3), CTNNB1 (n=2), and APC (a gene of familial adenomatous polyposis; n=1) in ICPNs, while those alterations were exceptional in papillary and nonpapillary GBCs. ICPNs more commonly showed cytoplasmic and/or nuclear expressions of β-catenin than papillary and nonpapillary GBCs. In conclusion, the histology-based classification of gallbladder papillary neoplasms is useful for identifying ICPNs that share clinicopathologic features with the pancreatic counterpart. ICPNs meeting the criteria were genetically distinct from papillary and nonpapillary GBCs, with STK11, CTNNB1, and APC being identified as major driver genes for ICPNs.


30805811


- Cellular Senescence, Represented by Expression of Caveolin-1, in Cancer-Associated Fibroblasts Promotes Tumor Invasion in Pancreatic Cancer

Annals of surgical oncology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30805811

BACKGROUND: The role of senescence of cancer-associated fibroblasts (CAFs) in the development of cancer is controversial. In this study, we investigated whether cellular senescence of CAFs, represented by CAV1 expression, affects tumor progression in pancreatic cancers (PC). METHODS: Because CAV1 plays a major role in cellular senescence, we used CAV1 expression to monitor cellular senescence. A total of 157 consecutive patients with PC who underwent curative resection were enrolled in the study. Patients were divided into two groups according to CAV1 expression in CAFs by immunohistochemistry. We investigated the relationship between the CAV1 expression in CAFs and the patients’ clinicopathological characteristics, including survival. We also established ten CAFs cell lines using PC clinical samples and chose one of them to knock down CAV1 expression. Finally, we cultured a PC cell line (MIAPaCa-2) in CAF-conditioned medium (CM). RESULTS: Regarding patients’ clinicopathological characteristics, the serum levels of carbohydrate antigen 19-9 and the rate of advanced tumor stage (pT2, 3, and 4) were significantly higher in the high-CAV1 group. The high-CAV1 group had significantly worse outcomes in both overall and disease-free survival (p < 0.01). Additionally, in co-culture assays using CAFs-CM and MIAPaCa-2 cells, we found that knockdown of CAV1 in CAFs negatively affected the invasion of PC cells. CONCLUSIONS: In PC, CAV1 expression in CAFs is associated with patients’ poor prognosis and the downregulation of CAV1 in CAFs reduces the invasiveness of PC cells. Therefore, CAV1 of CAFs might be a new target for the treatment of PC.


30803874


- Management and surveillance of non-functional pancreatic neuroendocrine tumours: Retrospective review

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30803874

BACKGROUND: /Objective. To determine the outcomes of a non-operative management approach for sporadic, small, non-functional pancreatic neuroendocrine tumours. METHODS: A retrospective chart review of patients with non-functional pancreatic neuroendocrine tumours initially managed non-operatively at a single institution was performed. Patients were identified through a search of radiologic reports, and individuals with ≥2 cross-sectional imaging studies performed >6 months apart from Jan. 1, 2000 to Dec. 31, 2013 were included. Data on tumour size, radiologic characteristics at diagnosis, interval radiologic growth, and surgical outcomes were recorded. RESULTS: Over the thirteen-year study period, 95 patients met inclusion criteria and were followed radiologically for a median of 36 months (18-69 months). Median initial tumour size on first imaging was 14.0 mm (IQR 10-19 mm). Median overall tumour growth rate was 0.03 mm/month (IQR: 0.00-0.14 mm/month). There was no significant relationship between initial tumour size and growth rate for tumours ≤ 2 cm or for lesions between 2 and 4 cm. Thirteen (14%) patients initially managed non-operatively underwent resection during the follow-up period. Reasons for surgery included interval tumour growth, patient anxiety or preference, or diagnostic uncertainty. Median time to surgery was 14 months (IQR 8-19 months). No patients progressed beyond resectability or developed metastatic disease during the observation period. CONCLUSION: For patients with sporadic, small, non-functional pancreatic neuroendocrine tumours, radiologic surveillance appears to be a safe initial approach to management.


30805710


- Glycosylation of ascites-derived exosomal CD133: a potential prognostic biomarker in patients with advanced pancreatic cancer

Medical molecular morphology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30805710

Cancer cells surviving in ascites exhibit cancer stem cell (CSC)-like features. This study analyzed the expression of the CSC marker CD133 in the ascites-derived exosomes obtained from patients with unresectable pancreatic cancer. In addition, inverse correlation of CD133 expression with prognosis was examined. Of the 133 consecutive patients, 19 patients were enrolled in the study. Exosomes derived from the malignant ascites demonstrated higher density and wider variation in size than those from non-malignant ascites. Western blot revealed enhanced expression of CD133 in exosomes obtained from patients with pancreatic cancer compared to those obtained from patients with gastric cancer or liver cirrhosis. A xenograft mouse model with malignant ascites was established by intraperitoneal inoculation of human pancreatic cancer cells in nude mice. Results obtained from the human study were reproduced in the mouse model. Statistically significant equilateral correlation was identified between the band intensity of CD133 in western blot and overall survival of patients. Lectin microarray analyses revealed glycosylation of CD133 by sialic acids as the major glycosylation among diverse others responsible for the glycosylation of exosomal CD133. These findings suggest that highly glycosylated CD133 in ascites-derived exosomes as a potential biomarker for better prognosis of patients with advanced pancreatic cancer.


29993037


- Silencing of MUC20 suppresses the malignant character of pancreatic ductal adenocarcinoma cells through inhibition of the HGF/MET pathway

Oncogene 2018 11;37(46):6041-6053

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=29993037

Mucins are heavily glycosylated proteins that play critical roles in the pathogenesis of tumour malignancies. Pancreatic ductal adenocarcinoma (PDAC) is characterised by the aberrant expression of mucins. However, the role of mucin (MUC) 20 in PDAC remains unclear. PDAC is usually surrounded by a dense fibrotic stroma consisting of an extracellular matrix and pancreatic stellate cells (PSCs). The stroma creates a nutrient-deprived, hypoxic, and acidic microenvironment, and promotes the malignant behaviours of PDAC cells. In this study, immunohistochemical staining demonstrated that high MUC20 expression correlated with poor progression-free survival and high local recurrence rate of PDAC patients (n = 61). The expression of MUC20 was induced by serum deprivation, hypoxia, and acidic pH in PDAC cells. MUC20 knockdown with siRNA decreased cell viability, as well as migration and invasion induced by PSCs in HPAC and HPAF-II cells. In intraperitoneal, subcutaneous, and orthotopic injection models, MUC20 knockdown decreased tumour growth in immunodeficient mice. Phospho-RTK array and western blot analysis indicated that MUC20 knockdown decreased HGF-mediated phosphorylation of MET in PDAC cells. Moreover, HGF-induced malignant phenotypes could be suppressed by MUC20 knockdown. Co-immunoprecipitation revealed the physical association of MUC20 and MET. These findings suggest that MUC20 knockdown suppresses the malignant phenotypes of PDAC cells at least partially through the inhibition of the HGF/MET pathway and that MUC20 could act as a potential therapeutic target.


30814496


- MTA2-mediated inhibition of PTEN leads to pancreatic ductal adenocarcinoma carcinogenicity

Cell death & disease 2019 Feb;10(3):206

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30814496

Metastasis-associated protein 2 (MTA2) is a core subunit of the nucleosome remodeling and deacetylating (NuRD) complex and functions by mediating chromatin remodeling and gene silencing. However, its biological actions and clinical significance in pancreatic ductal adenocarcinoma (PDAC) remain elusive. The aim of this study was to explore the function and regulation mechanism of MTA2 in PDAC. As shown in GEO, ICGC, and TCGA databases, a higher expression of MTA2 was noticed in the PDAC tissues than in the normal pancreatic tissues. Moreover, a higher expression level of MTA2 was associated with a shorter overall survival time in these public PDAC databases. We further investigated the underlying mechanisms of these observations by using a chromatin immunoprecipitation (ChIP)-based deep sequencing, luciferase reporter, and quantitative ChIP assays. We identified the repressive binding of MTA2 to the promoter of phosphatase and tensin homolog (PTEN). We also found that Snail recruited MTA2 and HDAC1 to suppress PTEN expression. Ectopic expression and knockdown of MTA2 were performed to evaluate the effects of this gene on PDAC cell proliferation, migration, and invasion. Using CCK-8, colony formation and transwell assays, and a xenograft tumor model, we revealed that MTA2 promoted PDAC cell proliferation, migration, and invasion in vitro and PDAC tumor growth in vivo by downregulation of PTEN. In benzyl isothiocyanate (BITC)-treated MIA Paca-2 cells and PANC-1 cells, MTA2 level decreased in a dose- and time-dependent manner with concomitant upregulation of PTEN level and downregulation of phosphorylated PI3K and AKT levels, providing evidence of the involvement of MTA2 and PTEN in the regulation of the PI3K/AKT pathway in BITC-mediated PDAC suppression. Collectively, these findings uncover a novel role for MTA2 in the regulation of PDAC progression and help to elucidate the mechanisms involved in this process.



- Is it time to standardize fine needle aspiration of gall bladder lesions and what city name it will be stamped with?

CytoJournal 2019 ;16():2

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30820232


- Intrahepatic Cholangiocarcinoma: Rising Burden and Glaring Disparities

Annals of surgical oncology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30820787


- Pancreatic Juice Exosomal MicroRNAs as Biomarkers for Detection of Pancreatic Ductal Adenocarcinoma

Annals of surgical oncology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30820789

BACKGROUND: Pancreatic ductal adenocarcinoma (PDAC) is a lethal neoplasm because of difficulties in early detection. Several studies have recently suggested that exosomes may have potential as novel biomarkers. This study aimed to isolate exosomes from pancreatic juice and to investigate whether exosomal microRNAs (ex-miRs) could be used as biomarkers for PDAC. METHODS: Pancreatic juice was collected from patients with PDAC and chronic pancreatitis (CP) by endoscopic retrograde pancreatography. Exosomes were extracted by ultracentrifugation. The presence of exosomes was confirmed by electron microscopy and Western blotting using anti-CD63, -CD81, and -TSG101 antibodies. Relative levels of ex-miR-21 and ex-miR-155 were quantified and compared between PDAC and CP patients. RESULTS: A total of 35 pancreatic juice samples (27 PDAC and 8 CP) were collected. Relative levels of both ex-miR-21 and ex-miR-155 were significantly higher in PDAC patients compared with CP patients (p < 0.001 and p = 0.008, respectively). By contrast, no significant difference was apparent in relative levels of miR-21 and miR-155 in whole pancreatic juice from PDAC patients compared with CP patients (p = 0.08 and p = 0.61, respectively). Ex-miR-21 and ex-miR-155 levels discriminated PDAC patients from CP patients with area under the curve values of 0.90 and 0.89, respectively. The accuracies of ex-miR-21 levels, ex-miR-155 levels, and pancreatic juice cytology were 83%, 89%, and 74%, respectively. When combining the results of ex-miR profiling with pancreatic juice cytology, the accuracy was improved to 91%. CONCLUSIONS: We successfully extracted exosomes from pancreatic juice. Ex-miRs, including ex-miR-21 and ex-miR-155, in pancreatic juice may be developed as biomarkers for PDAC.


- Is early-stage pancreatic adenocarcinoma truly early: stage migration on final pathology with surgery-first versus neoadjuvant therapy sequencing

HPB : the official journal of the International Hepato Pancreato Biliary Association 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30799277

BACKGROUND: Neoadjuvant therapy (NT) remains controversial in early-stage pancreatic ductal adenocarcinoma (PDAC), defined as clinical (c)Stage I-II. Our aim was to analyze rates of pathologic upstaging/downstaging for resectable PDAC treated with surgery-first (SF) vs. NT. METHODS: Utilizing the National Cancer Data Base (NCDB), patients with cStage I-II PDAC who underwent pancreatoduodenectomy in 2006-2013 were pathologically staged using the AJCC 8th edition and compared by treatment sequencing. RESULTS: Among 13,871 patients, 15.3% received NT. Despite higher pre-treatment T-stage (cT2: 71.9% vs. 56.3%, p < 0.001), NT patients had lower rates of pathologic nodal metastases (46.2% vs. 69.2% in SF, p < 0.001), suggesting higher rates of pathologic downstaging. In cStage II, 33.0% were upstaged to stage III after SF, vs. only 14.0% after NT. In cStage I, 65.5% were upstaged following SF, vs. 46.7% after NT (all p < 0.001). Patients with NT (HR-0.77, p < 0.001) or downstaging (HR-0.80, p < 0.001) had improved overall survival (OS). CONCLUSION: NT is associated with reduction in unexpected upstaging, reduction in nodal positivity, and improved OS, compared to SF approach in putatively early-stage PDAC. Because clinical staging underestimates the underlying disease burden in resectable PDAC, patients with cStage I-II should be considered for NT.


- A tangled tale of molecular subtypes in pancreatic cancer

Gut 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30814120


- BioMethyl: An R package for Biological Interpretation of DNA Methylation Data

Bioinformatics (Oxford, England) 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30799505

MOTIVATION: The accumulation of publicly available DNA methylation data sets has resulted in the need for tools to interpret the specific cellular phenotypes in bulk tissue data. Current approaches use either single differentially methylated CpG sites or differentially methylated regions that map to genes. However, these approaches may introduce biases in downstream analyses of biological interpretation, because of the variability in gene length. There is a lack of approaches to interpret DNA methylation effectively. Therefore, we have developed computational models to provide biological interpretation of relevant gene sets using DNA methylation data in the context of The Cancer Genome Atlas (TCGA). RESULTS: We illustrate that biological interpretation of DNA methylation (BioMethyl) utilizes the complete DNA methylation data for a given cancer type to reflect corresponding gene expression profiles and performs pathway enrichment analyses, providing unique biological insight. Using breast cancer as an example, BioMethyl shows high consistency in the identification of enriched biological pathways from DNA methylation data compared to the results calculated from RNA sequencing data. We find that 12 out of 14 pathways identified by BioMethyl are shared with those by using RNA-seq data, with a Jaccard score 0.8 for estrogen receptor (ER) positive samples. For ER negative samples, three pathways are shared in the two enrichments with a slight lower similarity (Jaccard score=0.6). Using BioMethyl, we can successfully identify those hidden biological pathways in DNA methylation data when gene expression profile is lacking. AVAILABILITY: BioMethyl R package is freely available in the GitHub repository (https://github.com/yuewangpanda/BioMethyl). SUPPLEMENTARY INFORMATION: Supplementary data are available at Bioinformatics online.


- Statistical Guidance for Reviewers of Toxicologic Pathology

Toxicologic pathology 2018 08;46(6):647-652

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=29966505

Study design, statistical analysis, interpretation of results, and conclusions should be a part of all research papers. Statistics are integral to each of these components and are therefore necessary to evaluate during manuscript peer review. Research published in Toxicological Pathology is often focused on animal studies that may seek to compare defined treatment groups in randomized controlled experiments or focus on the reliability of measurements and diagnostic accuracy of observed lesions from preexisting studies. Reviewers should distinguish scientific research goals that aim to test sufficient effect size differences (i.e., minimizing false positive rates) from common toxicologic goals of detecting a harmful effect (i.e., minimizing false negative rates). This journal comprises a wide range of study designs that require different kinds of statistical assessments. Therefore, statistical methods should be described in enough detail so that the experiment can be repeated by other research groups. The misuse of statistics will impede reproducibility.



  • Comparison of Tumor Regression Grading of Residual Pancreatic Ductal Adenocarcinoma Following Neoadjuvant Chemotherapy Without Radiation Would Fewer Tier-Stratification Be Favorable Toward Standardization?

https://journals.lww.com/ajsp/Abstract/2019/03000/Comparison_of_Tumor_Regression_Grading_of_Residual.5.aspx


  • Isolated pulmonary recurrence after resection of pancreatic cancer: the effect of patient factors and treatment modalities on survival

https://www.sciencedirect.com/science/article/abs/pii/S1365182X19300024


  • MDH1 and MPP7 regulate autophagy in pancreatic ductal adenocarcinoma

http://cancerres.aacrjournals.org/content/early/2019/02/14/0008-5472.CAN-18-2553.short


  • Characteristics and long-term survival of resected pancreatic cystic neoplasms in Finland. The first nationwide retrospective cohort analysis

https://www.sciencedirect.com/science/article/pii/S1424390319300316


  • Ex vivo organotypic culture system of precision-cut slices of human pancreatic ductal adenocarcinoma

https://www.nature.com/articles/s41598-019-38603-w


  • Direct Interactions With Cancer-Associated Fibroblasts Lead to Enhanced Pancreatic Cancer Stem Cell Function

https://journals.lww.com/pancreasjournal/Abstract/publishahead/Direct_Interactions_With_Cancer_Associated.98464.aspx


  • Prediction of Recurrence With KRAS Mutational Burden Using Ultrasensitive Digital Polymerase Chain Reaction of Radial Resection Margin of Resected Pancreatic Ductal Adenocarcinoma

https://journals.lww.com/pancreasjournal/Abstract/publishahead/Prediction_of_Recurrence_With_KRAS_Mutational.98468.aspx


  • The IL-1/IL-1 receptor axis and tumor cell released inflammasome adaptor ASC are key regulators of TSLP secretion by cancer associated fibroblasts in pancreatic cancer

https://jitc.biomedcentral.com/articles/10.1186/s40425-019-0521-4


  • Expression and Clinical Significance of Protein Kinase RNA–Like Endoplasmic Reticulum Kinase and Phosphorylated Eukaryotic Initiation Factor 2α in Pancreatic Ductal Adenocarcinoma

https://journals.lww.com/pancreasjournal/Abstract/publishahead/Expression_and_Clinical_Significance_of_Protein.98463.aspx


  • The Genetic Basis of Transcriptional and Spatial Heterogeneity of Squamous Features in Pancreatic Ductal Adenocarcinoma

https://europepmc.org/abstract/ppr/ppr70162


  • The Genetic Basis of Transcriptional and Spatial Heterogeneity of Squamous Features in Pancreatic Ductal Adenocarcinoma

https://www.researchgate.net/publication/331130625_The_Genetic_Basis_of_Transcriptional_and_Spatial_Heterogeneity_of_Squamous_Features_in_Pancreatic_Ductal_Adenocarcinoma


  • Prediction of Recurrence With KRAS Mutational Burden Using Ultrasensitive Digital Polymerase Chain Reaction of Radial Resection Margin of Resected Pancreatic Ductal Adenocarcinoma

https://www.researchgate.net/publication/331058662_Prediction_of_Recurrence_With_KRAS_Mutational_Burden_Using_Ultrasensitive_Digital_Polymerase_Chain_Reaction_of_Radial_Resection_Margin_of_Resected_Pancreatic_Ductal_Adenocarcinoma


  • Molecular subtypes of pancreatic cancer

https://www.nature.com/articles/s41575-019-0109-y


  • A case of high‐grade pancreatic intraepithelial neoplasia concomitant with type 1 autoimmune pancreatitis: the process underlying both conditions

https://onlinelibrary.wiley.com/doi/abs/10.1111/pin.12768


  • Pre-existing Functional Heterogeneity of Tumorigenic Compartment as the Origin of Chemoresistance in Pancreatic Tumors

https://www.sciencedirect.com/science/article/pii/S221112471930066X


  • Intraductal tubular papillary neoplasm (ITPN), a novel entity of pancreatic epithelial neoplasms and precursor of cancer: A case report and review of the literature

https://www.sciencedirect.com/science/article/pii/S2210261219300495


  • Early Detection of Pancreatic Cancer: Opportunities and Challenges

https://ac.els-cdn.com/S0016508519303580/1-s2.0-S0016508519303580-main.pdf?_tid=5258710f-ba0e-4800-9f6a-2c9b3a66d2e0&acdnat=1549550306_4d1b0748d87c2fa9b57232bccca24f25


  • Pathways of Progression From Intraductal Papillary Mucinous Neoplasm to Pancreatic Ductal Adenocarcinoma Based on Molecular Features

https://www.gastrojournal.org/article/S0016-5085(18)35160-6/fulltext?dgcid=raven_jbs_etoc_email&mobileUi=0&fbclid=IwAR1PP6mTLSlcIgJYOBHE6kSKIF5tXS-8wRIO4PExyr0cMy1ysEc05wu5g3c


  • Fibroblasts in Pancreatic Ductal Adenocarcinoma: biological mechanisms and therapeutic targets

https://www.sciencedirect.com/science/article/pii/S0016508519303592


  • Natural History and Treatment Trends in Pancreatic Cancer Subtypes

https://link.springer.com/article/10.1007/s11605-019-04113-3


  • Prevalence of Germline Mutations Associated with Cancer Risk in Patients With Intraductal Papillary Mucinous Neoplasms

https://www.gastrojournal.org/article/S0016-5085(19)30353-1/fulltext


  • PRRX1 isoforms cooperate with FOXM1 to regulate the DNA damage response in pancreatic cancer cells

https://www.nature.com/articles/s41388-019-0725-6


  • Signaling Networks that Control Cellular Plasticity in Pancreatic Tumorigenesis, Progression and Metastasis

https://www.gastrojournal.org/article/S0016-5085(19)30351-8/fulltext


  • Hes1 plays an essential role in Kras-driven pancreatic tumorigenesis

https://www.nature.com/articles/s41388-019-0718-5


  • Diagnosis and Management of Pancreatic Adenocarcinoma in the Background of Chronic Pancreatitis: Core Issues

https://www.karger.com/Article/Abstract/496507


  • MDH1 and MPP7 regulate autophagy in pancreatic ductal adenocarcinoma

https://www.researchgate.net/profile/Padhmanand_Sudhakar2/publication/331099191_MDH1_and_MPP7_regulate_autophagy_in_pancreatic_ductal_adenocarcinoma/links/5c65a14945851582c3e95df4/MDH1-and-MPP7-regulate-autophagy-in-pancreatic-ductal-adenocarcinoma.pdf


  • Cyst Fluid Biosignature to Predict Intraductal Papillary Mucinous Neoplasms of the Pancreas with High Malignant Potential

https://www.sciencedirect.com/science/article/pii/S1072751519301498


- Wnt/β-catenin signalling plays diverse functions during the process of fibrotic remodelling in the exocrine pancreas

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30792046

BACKGROUND/OBJECTIVES: Wnt/β-catenin signalling plays vital roles in tissue homeostasis. Dysregulation of the pathway has been implicated in the pathogenesis of cancer and fibroses in numerous tissues, including the pancreas. We studied the effect of microenvironmental changes pertaining to fibrotic tissue remodelling on the expression of selected Wnt/β-catenin pathway proteins in the human exocrine pancreas. The role of acinar/stellate cross-talk on the expression of the proteins was elucidated in a long-term mouse co-culture system. METHODS: Expression of β-catenin, Wnt2, Wnt5a and SFRP4 was analysed immunohistochemically in normal and moderately or highly fibrotic human pancreata (n = 8). The effect of humoral interactions on the expression of the proteins was studied by immunocytochemical means in parallel mono- and co-cultures of mouse acinar and stellate cells (PSCs). RESULTS: In human pancreatic tissue, fibrotic microenvironment was associated with redistribution of the proteins in and between epithelial and stromal compartments, compared to acinar-rich tissue. In non-fibrotic and moderately fibrotic tissue the proteins appeared only in acinar cells whereas in highly fibrotic tissue stromal fibroblastoid/stellate cells and macrophages were their predominant locations. Subcellular changes in the expression of β-catenin and Wnt5a were detected. Our in vitro data suggest potential involvement of acinar cell/PSC cross-talk in mediating the changes observed in tissue specimens. CONCLUSIONS: Wnt/β-catenin pathway-associated proteins are abundantly expressed in the exocrine pancreas with prominent changes in their cellular and subcellular expression patterns along with increasing levels of fibrosis. Diverse functions for Wnt/β-catenin signalling during the course of fibrotic remodelling in the exocrine pancreas are suggested.


- The value of cytology in the management of patients with pancreatic cysts

Cancer cytopathology 2019 Jan;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30668886


- Integration of Genomic and Transcriptional Features in Pancreatic Cancer Reveals Increased Cell Cycle Progression in Metastases

Cancer cell 2019 Feb;35(2):267-282.e7

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30686769

We integrated clinical, genomic, and transcriptomic data from 224 primaries and 95 metastases from 289 patients to characterize progression of pancreatic ductal adenocarcinoma (PDAC). Driver gene alterations and mutational and expression-based signatures were preserved, with truncations, inversions, and translocations most conserved. Cell cycle progression (CCP) increased with sequential inactivation of tumor suppressors, yet remained higher in metastases, perhaps driven by cell cycle regulatory gene variants. Half of the cases were hypoxic by expression markers, overlapping with molecular subtypes. Paired tumor heterogeneity showed cancer cell migration by Halstedian progression. Multiple PDACs arising synchronously and metachronously in the same pancreas were actually intra-parenchymal metastases, not independent primary tumors. Established clinical co-variates dominated survival analyses, although CCP and hypoxia may inform clinical practice.


- Pancreatic cancer stem cells: A state or an entity?

Seminars in cancer biology 2018 12;53():223-231

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30130664

Pancreatic ductal adenocarcinoma (PDAC), the most common type of pancreatic cancer, has a median overall survival of 6-12 months and a 5-year survival of less than 7%. While PDAC currently represents the 4th most frequent cause of death due to cancer worldwide, it is expected to become the second leading cause of cancer-related death by 2030. These alarming statistics are primarily due to both the inherent chemoresistant and metastatic nature of this tumor, and the existence of a subpopulation of highly plastic “stem”-like cells within the tumor, known as cancer stem cells (CSCs). Since their discovery in PDAC in 2007, we have come to realize that pancreatic CSCs have unique metabolic, autophagic, invasive, and chemoresistance properties that allow them to continuously self-renew and escape chemo-therapeutic elimination. More importantly, the concept of the CSC as a fixed entity within the tumor has also evolved, and current data suggest that CSCs are states rather than defined entities. Consequently, current treatments for the majority of PDAC patients are not effective, and do not significantly impact overall patient survival, as they do not adequately target the plastic CSC sub-population nor the transient/hybrid cells that can replenish the CSC pool. Thus, it is necessary that we improve our understanding of the characteristics and signals that maintain and drive the pancreatic CSC population in order to develop new therapies to target these cells. Herein, we will provide the latest updates and knowledge on the inherent characteristics of pancreatic CSCs and the CSC niche, specifically the cross-talk that exists between CSCs and niche resident cells. Lastly, we will address the question of whether a CSC is a state or an entity and discuss how the answer to this question can impact treatment approaches.


  • Integration of Genomic and Transcriptional Features in Pancreatic Cancer Reveals Increased Cell Cycle Progression in Metastases

https://www.researchgate.net/publication/330663612_Integration_of_Genomic_and_Transcriptional_Features_in_Pancreatic_Cancer_Reveals_Increased_Cell_Cycle_Progression_in_Metastases


  • Germline BRCA2 K3326X and CHEK2 I157T Mutations Increase Risk for Sporadic Pancreatic Ductal Adenocarcinoma

https://www.researchgate.net/publication/330605511_Germline_BRCA2_K3326X_and_CHEK2_I157T_Mutations_Increase_Risk_for_Sporadic_Pancreatic_Ductal_Adenocarcinoma


  • Germline BRCA2 K3326X and CHEK2 I157T Mutations Increase Risk for Sporadic Pancreatic Ductal Adenocarcinoma

https://onlinelibrary.wiley.com/doi/abs/10.1002/ijc.32127



  • Main Duct Dilatation Is the Best Predictor of High-grade Dysplasia or Invasion in Intraductal Papillary Mucinous Neoplasms of the Pancreas

https://journals.lww.com/annalsofsurgery/Abstract/publishahead/Main_Duct_Dilatation_Is_the_Best_Predictor_of.95248.aspx


  • Timing But Not Patterns of Recurrence Is Different Between Node-negative and Node-positive Resected Pancreatic Cancer.

https://europepmc.org/abstract/med/30672796


  • Utility of cytomorphology in distinguishing solid pseudopapillary neoplasm of pancreas from pancreatic neuroendocrine tumor with emphasis on nuclear folds and nuclear grooves

https://onlinelibrary.wiley.com/doi/abs/10.1002/dc.24145


  • THZ1 reveals CDK7-dependent transcriptional addictions in pancreatic cancer

https://www.nature.com/articles/s41388-019-0701-1


  • Predictive and Prognostic Properties of Human Equilibrative Nucleoside Transporter 1 Expression in Gemcitabine-Treated Pancreatobiliary Cancer: A Meta-Analysis

http://ascopubs.org/doi/abs/10.1200/PO.18.00240


  • Quasimesenchymal phenotype predicts systemic metastasis in pancreatic ductal adenocarcinoma

https://www.nature.com/articles/s41379-018-0196-2


  • Surgically resected pancreatic metastasis from nasal malignant melanoma: case report and literature review

https://link.springer.com/article/10.1007/s12328-019-00936-4


  • Prognostic Role of High-Grade Tumor Budding in Pancreatic Ductal Adenocarcinoma: A Systematic Review and Meta-Analysis with a Focus on Epithelial to Mesenchymal Transition

https://res.mdpi.com/cancers/cancers-11-00113/article_deploy/cancers-11-00113.pdf


  • Comparative Accuracy of Tumor Size Assessment and Stage Analysis by Imaging Modalities Versus Gross Examination for Pancreatic Ductal Adenocarcinoma

https://journals.lww.com/pancreasjournal/Abstract/2019/02000/Comparative_Accuracy_of_Tumor_Size_Assessment_and.13.aspx


  • Blocking CXCLs–CXCR2 axis in tumor–stromal interactions contributes to survival in a mouse model of pancreatic ductal adenocarcinoma through reduced cell invasion/migration and a shift of immune-inflammatory microenvironment

https://www.nature.com/articles/s41389-018-0117-8


  • Pathways of Progression From Intraductal Papillary Mucinous Neoplasm to Pancreatic Ductal Adenocarcinoma Based on Molecular Features

https://www.sciencedirect.com/science/article/pii/S0016508518351606


  • Prognostic Role of High-Grade Tumor Budding in Pancreatic Ductal Adenocarcinoma: A Systematic Review and Meta-Analysis with a Focus on Epithelial to Mesenchymal Transition

https://www.mdpi.com/2072-6694/11/1/113


  • Ezrin promotes stem cell properties in pancreatic ductal adenocarcinoma

http://mcr.aacrjournals.org/content/early/2019/01/17/1541-7786.MCR-18-0367.abstract


  • Exosomes harbor B cell targets in pancreatic adenocarcinoma and exert decoy function against complement-mediated cytotoxicity

https://www.nature.com/articles/s41467-018-08109-6


  • Immunotherapy in pancreatic cancer: new hope or mission impossible?

https://www.sciencedirect.com/science/article/pii/S0304383519300138


  • Microvessel Density and Impact of Angiogenesis on Survival of Resected Pancreatic Cancer Patients A Systematic Review and Meta-analysis

https://journals.lww.com/pancreasjournal/Abstract/publishahead/Microvessel_Density_and_Impact_of_Angiogenesis_on.98481.aspx


  • RER1 enhances carcinogenesis and stemness of pancreatic cancer under hypoxic environment

https://jeccr.biomedcentral.com/articles/10.1186/s13046-018-0986-x


  • Survivals of patients with surgically treated and High‐grade pancreatic neuroendocrine carcinomas: A comparative study between two American Joint Committee on Cancer 8th tumor-node-metastasis staging systems

https://www.sciencedirect.com/science/article/pii/S0748798319300101


  • Pancreatic Cystic Lesions in Cases of Autoimmune Pancreatitis.

https://www.ncbi.nlm.nih.gov/pubmed/30640232


  • How Can We Practically Implement Screening for Intraductal Papillary Mucinous Neoplasm of the Pancreas as the Main Focus for Early Detection of Pancreatic Adenocarcinoma?

https://www.ncbi.nlm.nih.gov/pubmed/30640227


  • Cytologic Analysis of Pancreatic Juice Increases Specificity of Detection of Malignant IPMN – A Systematic Review

https://www.sciencedirect.com/science/article/pii/S1542356519300072


  • Undifferentiated carcinoma with osteoclast-like giant cells of the pancreas arising from an intraductal papillary mucinous neoplasm

https://www.sciencedirect.com/science/article/pii/S2214330018301597


  • Mutation analysis by deep sequencing of pancreatic juice from patients with pancreatic ductal adenocarcinoma

https://link.springer.com/article/10.1186/s12885-018-5195-7


  • CD73 expression in normal and pathological human hepatobiliopancreatic tissues

https://link.springer.com/article/10.1007/s00262-018-2290-1


  • Diagnostic Yield From Screening Asymptomatic Individuals at High Risk for Pancreatic Cancer: A Meta-analysis of Cohort Studies

https://www.cghjournal.org/article/S1542-3565(18)30498-1/fulltext


  • Expression of estrogen receptor beta isoforms in pancreatic adenocarcinoma

http://www.oncotarget.com/index.php?journal=oncotarget&page=article&op=view&path%5B%5D=26503


  • Clinical significance of revised microscopic positive resection margin status in ductal adenocarcinoma of pancreatic head

https://www.researchgate.net/publication/330069141_Clinical_significance_of_revised_microscopic_positive_resection_margin_status_in_ductal_adenocarcinoma_of_pancreatic_head


  • Pancreatic Cysts: Sinister Findings or Incidentalomas?

https://www.researchgate.net/publication/330042701_Pancreatic_Cysts_Sinister_Findings_or_Incidentalomas


  • Crosstalk between the Tumor Microenvironment and Immune System in Pancreatic Ductal Adenocarcinoma: Potential Targets for New Therapeutic Approaches

https://www.researchgate.net/publication/329781544_Crosstalk_between_the_Tumor_Microenvironment_and_Immune_System_in_Pancreatic_Ductal_Adenocarcinoma_Potential_Targets_for_New_Therapeutic_Approaches


  • Oncogenic KRAS supports pancreatic cancer through regulation of nucleotide synthesis

https://www.nature.com/articles/s41467-018-07472-8


  • Subtyping of intraductal papillary mucinous neoplasms – pitfalls of MUC1 immunohistochemistry

https://onlinelibrary.wiley.com/doi/abs/10.1111/apm.12900


  • DeltaNp63-dependent super enhancers define molecular identity in pancreatic cancer by an interconnected transcription factor network

https://www.pnas.org/content/early/2018/12/11/1812915116.short


  • Silencing of MUC20 suppresses the malignant character of pancreatic ductal adenocarcinoma cells through inhibition of the HGF/MET pathway

Oncogene volume 37, pages 6041–6053 (2018)

https://www.nature.com/articles/s41388-018-0403-0


  • Combating pancreatic cancer with PI3K pathway inhibitors in the era of personalised medicine

https://gut.bmj.com/content/early/2018/11/05/gutjnl-2018-316822


  • The role of GLI-SOX2 signaling axis for gemcitabine resistance in pancreatic cancer

https://www.nature.com/articles/s41388-018-0553-0


  • PIN1 maintains redox balance via the c-Myc/NRF2 axis to counteract Kras-induced mitochondrial respiratory injury in pancreatic cancer cells

http://cancerres.aacrjournals.org/content/canres/early/2018/10/24/0008-5472.CAN-18-1968.full.pdf


  • DYRK1A modulates c-MET in pancreatic ductal adenocarcinoma to drive tumour growth

https://gut.bmj.com/content/early/2018/10/20/gutjnl-2018-316128


  • ADAM12 is a circulating marker for stromal activation in pancreatic cancer and predicts response to chemotherapy

https://www.nature.com/articles/s41389-018-0096-9


  • Neoepitope targets of tumour-infiltrating lymphocytes from patients with pancreatic cancer

https://www.nature.com/articles/s41416-018-0262-z


  • Pancreatic ductal adenocarcinoma harboring microsatellite instability / DNA mismatch repair deficiency. Towards personalized medicine.

https://www.sciencedirect.com/science/article/pii/S0960740418301245


  • Pancreatic cancer arising in the remnant pancreas is not always a relapse of the preceding primary

https://www.researchgate.net/publication/329122741_Pancreatic_cancer_arising_in_the_remnant_pancreas_is_not_always_a_relapse_of_the_preceding_primary


  • Undifferentiated carcinoma with osteoclast-like giant cells of pancreas A case report with review of the computed tomography findings

https://journals.lww.com/md-journal/Fulltext/2018/11300/Undifferentiated_carcinoma_with_osteoclast_like.100.aspx


  • Clinico‐pathological features and survival of patients with malignant exocrine pancreatic neoplasms: The AC Camargo Cancer Center experience

https://onlinelibrary.wiley.com/doi/abs/10.1002/jso.25312


  • Role of adjuvant therapy in resected stage IA subcentimeter (T1a/T1b) pancreatic cancer: Adjuvant therapy for subcentimeter PDAC

https://www.researchgate.net/publication/329079327_Role_of_adjuvant_therapy_in_resected_stage_IA_subcentimeter_T1aT1b_pancreatic_cancer_Adjuvant_therapy_for_subcentimeter_PDAC


  • International Validation of the Eighth Edition of the American Joint Committee on Cancer (AJCC) TNM Staging System in Patients With Resected Pancreatic Cancer

link


  • Pancreatic Ductal Adenocarcinoma and Its Precursor Lesions: Histopathology, Cytopathology, and Molecular Pathology

https://www.sciencedirect.com/science/article/pii/S0002944018301512


  • Diagnostic and Prognostic Impact of Neutrophil-to-Lymphocyte Ratio for Intraductal Papillary Mucinous Neoplasms of the Pancreas With High-Grade Dysplasia and Associated Invasive Carcinoma

https://www.researchgate.net/publication/329302661_Diagnostic_and_Prognostic_Impact_of_Neutrophil-to-Lymphocyte_Ratio_for_Intraductal_Papillary_Mucinous_Neoplasms_of_the_Pancreas_With_High-Grade_Dysplasia_and_Associated_Invasive_Carcinoma


  • The efficacy and safety of endoscopic ultrasound-guided ablation of pancreatic cysts with alcohol and paclitaxel a systematic review

https://journals.lww.com/eurojgh/Abstract/2019/01000/The_efficacy_and_safety_of_endoscopic.1.aspx


  • Intraductal papillary mucinous neoplasm complicated by a gastropancreatic fistula

https://www.sciencedirect.com/science/article/pii/S193004331830373X


  • Risk of advanced lesions in patients with branch-duct IPMN and relative indications for surgery according to European evidence-based guidelines

https://www.sciencedirect.com/science/article/pii/S1590865818312672


  • The Paradoxical Web of Pancreatic Cancer Tumor Microenvironment

https://www.sciencedirect.com/science/article/pii/S0002944018301561


  • Immunosuppressive βig-h3 links tumour stroma and dysfunctional T cells in pancreatic cancer

https://gut.bmj.com/content/early/2018/12/07/gutjnl-2018-317735


  • Primordial germ cells as a potential shared cell of origin for mucinous cystic neoplasms of the pancreas and mucinous ovarian tumors

https://www.researchgate.net/publication/327757413_Primordial_germ_cells_as_a_potential_shared_cell_of_origin_for_mucinous_cystic_neoplasms_of_the_pancreas_and_mucinous_ovarian_tumors


  • Pancreatic Choristoma in a Canine Gallbladder

https://www.sciencedirect.com/science/article/pii/S0021997518302020


  • Tumefactive Inflammatory Diseases of the Pancreas

https://www.sciencedirect.com/science/article/pii/S0002944018302025


  • Pancreatic cystic tumors an update

https://journals.lww.com/jpancreatology/Fulltext/2018/12000/Pancreatic_cystic_tumors__an_update.2.aspx


  • Crosstalk between the Tumor Microenvironment and Immune System in Pancreatic Ductal Adenocarcinoma: Potential Targets for New Therapeutic Approaches

https://www.hindawi.com/journals/grp/2018/7530619/


  • Pyloric Gland Adenoma of Gallbladder: A Review of Diagnosis and Management

https://www.hindawi.com/journals/amed/2018/7539694/


  • Loss of KDM6A characterizes a poor prognostic subtype of human pancreatic cancer and potentiates HDAC inhibitor lethality

https://onlinelibrary.wiley.com/doi/abs/10.1002/ijc.32072


  • The dual role of HMGB1 in pancreatic cancer

https://journals.lww.com/jpancreatology/Fulltext/2018/12000/The_dual_role_of_HMGB1_in_pancreatic_cancer.3.aspx


  • A systematic assessment of statistics, risk factors, and underlying features involved in pancreatic cancer

https://www.sciencedirect.com/science/article/pii/S1877782118305101


  • Cytopathological results of initial endoscopic ultrasound‐guided fine needle aspiration for primary mass and prognosis in pancreatic cancer patients

https://onlinelibrary.wiley.com/doi/10.1111/cyt.12675


  • Analysis of dynamic molecular networks for pancreatic ductal adenocarcinoma progression

https://cancerci.biomedcentral.com/articles/10.1186/s12935-018-0718-5


  • Utilizing cell line-derived organoids to evaluate the efficacy of a novel LIFR-inhibitor, EC359 in targeting pancreatic tumor stroma

http://www.impactjournals.com/Genes&Cancer/files/papers/1/184/184.pdf


  • Cancer-associated acinar-to-ductal metaplasia within the invasive front of pancreatic cancer contributes to local invasion

https://www.sciencedirect.com/science/article/pii/S0304383518307201


  • Expression of estrogen receptor beta isoforms in pancreatic adenocarcinoma

December 2018Oncotarget 9(102) DOI: 10.18632/oncotarget.26503


  • Mesenchymal chondrosarcoma metastasising to the pancreas

https://casereports.bmj.com/content/11/1/e226369


  • PIK3CA in Kras G12D/Trp53 R172H Tumor Cells Promotes Immune Evasion by Limiting Infiltration of T Cells in a Model of Pancreatic Cancer

https://www.biorxiv.org/content/biorxiv/early/2019/01/15/521831.full.pdf

  • Appropriateness of pancreatic resection in high-risk individuals for familial pancreatic ductal adenocarcinoma: a patient-level meta-analysis and proposition of the Beaujon score

https://journals.sagepub.com/doi/pdf/10.1177/2050640618824910


  • Pancreatic cancer microenvironment: a current dilemma

https://link.springer.com/article/10.1186/s40169-019-0221-1


  • Are BRCA1 and BRCA2 gene mutation patients underscreened for pancreatic adenocarcinoma?

https://onlinelibrary.wiley.com/doi/10.1002/jso.25376


  • KrasG12D mutation contributes to regulatory T cell conversion through activation of the MEK/ERK pathway in pancreatic cancer

https://www.sciencedirect.com/science/article/pii/S0304383519300254


  • Determining the optimal number of examined lymph nodes for accurate staging of pancreatic cancer: An analysis using the nodal staging score model

https://www.sciencedirect.com/science/article/pii/S0748798319300411


  • Genetics of Familial and Sporadic Pancreatic Cancer

https://www.sciencedirect.com/science/article/pii/S0016508519300563


  • Lymphoepithelial cyst of the pancreas: A case report and summary of imaging features of pancreatic cysts

https://www.sciencedirect.com/science/article/pii/S2210261219300331


- Pathomorphological features of metastatic lymph nodes as predictors of postoperative prognosis in pancreatic cancer

Medicine 2019 Feb;98(5):e14369

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30702628

To investigate the pathological features of metastatic lymph nodes (LN) in pancreatic ductal adenocarcinoma (PDAC) and to determine factors with prognostic implications.Metastatic LN status is a proven significant factor for predicting postoperative prognosis in pancreatic cancer patients. However, the effective prognostic criteria regarding metastatic LNs for such disease remain unknown.We retrospectively reviewed 98 patients with R0/1 resection for PDAC. All metastatic LNs were evaluated for the pathomorphological features of metastasis and analyzed in terms of postoperative outcomes. Various morphological patterns of metastasis were assessed in 440 positive LNs and then classified into 4 groups: common type, direct type (continuously invaded by the main tumor), scatter type (multiple tumor clusters among the normal LN tissues), and isolated tumor cell (ITC).The pathological stage was defined as stage IIA in 10% and IIB in 90% patients. Common-type metastasis was noted in 55% positive LNs of 75% node-positive patients; direct type in 36% LNs of 69% patients; scatter type in 5% LNs of 14% patients; and ITCs in 5% LNs of 18% patients. Significant difference was noted only in recurrence-free survival (RFS) but not in overall survival (OS) in the common-type; only in OS but not in RFS for the scatter type; and neither in RFS nor OS for both direct type and ITC. Multivariate analysis revealed that only LN ratio and curability were independent predictive factors of poor.The tumor distribution patterns in metastatic LNs are the postoperative prognostic factors in pancreatic cancer.


  • Development of a Class Prediction Model to Discriminate Pancreatic Ductal Adenocarcinoma from Pancreatic Neuroendocrine Tumor by MALDI Mass Spectrometry Imaging

https://onlinelibrary.wiley.com/doi/abs/10.1002/prca.201800046


  • Back Cover: Development of a Class Prediction Model to Discriminate Pancreatic Ductal Adenocarcinoma from Pancreatic Neuroendocrine Tumor by MALDI Mass Spectrometry Imaging

https://onlinelibrary.wiley.com/doi/abs/10.1002/prca.201970013


- Pancreatitis in Children

Gastroenterology 2019 Feb;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30716320

Acute, acute recurrent and chronic pancreatitis have been increasingly diagnosed in children within the last two decades. The risk factors in the pediatric age group are broad and they appear to be strikingly different compared to the adult cohort. However, the disease burden and impact on quality of life are surprisingly similar between children and adults. This review summarizes the definitions, epidemiology, risk factors, diagnosis and management of pediatric pancreatitis, identifies the features that are unique to the childhood-onset disease, identifies gaps and proposes recommendations for future opportunities.


  • Genomic Profiling in Pancreatic Ductal Adenocarcinoma and a Pathway towards Therapy Individualization: A Scoping Review

https://www.sciencedirect.com/science/article/pii/S0305737219300519


  • Genome-wide CRISPR screen reveals PSMA6 to be an essential gene in pancreatic cancer cells

https://bmccancer.biomedcentral.com/articles/10.1186/s12885-019-5455-1


Back to top


Bile Ducts

Gallbladder Polyps: Rare Lesions in Childhood.

https://www.ncbi.nlm.nih.gov/pubmed/30889123

Molecular Perturbations in Cholangiocarcinoma: Is it Time for Precision Medicine?

https://onlinelibrary.wiley.com/doi/abs/10.1111/liv.14085

Preoperative diagnosis of well-differentiated neuroendocrine tumor in common hepatic duct by brush cytology: A case report.

https://www.ncbi.nlm.nih.gov/pubmed/30884200


MACC1 promotes angiogenesis in cholangiocarcinoma by upregulating VEGFA.

https://www.ncbi.nlm.nih.gov/pubmed/30881041


  • Trends in the Incidence, Treatment and Outcomes of Patients with Intrahepatic Cholangiocarcinoma in the USA: Facility Type is Associated with Margin Status, Use of Lymphadenectomy and Overall Survival

https://link.springer.com/article/10.1007/s00268-019-04966-4


  • Premalignant Lesions of the Biliary Tract

https://www.surgical.theclinics.com/article/S0039-6109(18)30170-1/abstract


  • Cholangiolocellular Carcinoma With “Ductal Plate Malformation” Pattern May Be Characterized by ARID1A Genetic Alterations

https://journals.lww.com/ajsp/Abstract/2019/03000/Cholangiolocellular_Carcinoma_With__Ductal_Plate.7.aspx


- Intrahepatic Cholangiocarcinoma: Socioeconomic Discrepancies, Contemporary Treatment Approaches and Survival Trends from the National Cancer Database

Annals of surgical oncology 2019 Jan;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30693451

OBJECTIVE: The aim of this study was to evaluate socioeconomic discrepancies in current treatment approaches and survival trends among patients with intrahepatic cholangiocarcinoma (ICC). METHODS: The 2004-2015 National Cancer Database was retrospectively analyzed for histopathologically proven ICC. Treatment predictors were evaluated using multinomial logistic regression and overall survival via multivariable Cox models. RESULTS: Overall, 12,837 ICC patients were included. Multiple factors influenced treatment allocation, including age, education, comorbidities, cancer stage, grade, treatment center, and US state region (multivariable p < 0.05). The highest surgery rates were observed in the Middle Atlantic (28.7%) and lowest rates were observed in the Mountain States (18.4%). Decreased ICC treatment likelihood was observed for male African Americans with Medicaid insurance and those with low income (multivariable p < 0.05). Socioeconomic treatment discrepancies translated into decreased overall survival for patients of male sex (vs. female; hazard ratio [HR] 1.21, 95% confidence interval [CI] 1.16-1.26, p < 0.001), with low income (< $37,999 vs. ≥ $63,000 annually; HR 1.07, 95% CI 1.01-1.14, p = 0.032), and with Medicaid insurance (vs. private insurance; HR 1.13, 95% CI 1.04-1.23, p = 0.006). Both surgical and non-surgical ICC management showed increased survival compared with no treatment, with the longest survival for surgery (5-year overall survival for surgery, 33.5%; interventional oncology, 11.8%; radiation oncology/chemotherapy, 4.4%; no treatment, 3.3%). Among non-surgically treated patients, interventional oncology yielded the longest survival versus radiation oncology/chemotherapy (HR 0.73, 95% CI 0.65-0.82, p < 0.001). CONCLUSIONS: ICC treatment allocation and outcome demonstrated a marked variation depending on socioeconomic status, demography, cancer factors, and US geography. Healthcare providers should address these discrepancies by providing surgery and interventional oncology as first-line treatment to all eligible patients, with special attention to the vulnerable populations identified in this study.


  • Proposal for a new classification for perihilar cholangiocarcinoma based on tumour depth

https://onlinelibrary.wiley.com/doi/abs/10.1002/bjs.11063


  • Impact of Tumour Budding Grade in 310 Patients Who Underwent Surgical Resection for Extrahepatic Cholangiocarcinoma

https://onlinelibrary.wiley.com/doi/abs/10.1111/his.13827?af=R


  • Impact of Tumour Budding Grade in 310 Patients Who Underwent Surgical Resection for Extrahepatic Cholangiocarcinoma

https://onlinelibrary.wiley.com/doi/abs/10.1111/his.13827?af=R


  • Impact of Tumor Location on Postoperative Outcome of Intraductal Papillary Neoplasm of the Bile Duct

https://link.springer.com/article/10.1007/s00268-019-04913-3


  • Mucinous cystic neoplasm of the liver with biliary communication: an exception to the current classification

https://casereports.bmj.com/content/12/1/bcr-2018-227063.abstract


  • Outcome Determining Factors of Intraductal Papillary Neoplasm of the Biliary Tract (IPNB)—a Single Center Survey and Analysis of Current Literature

https://link.springer.com/article/10.1007/s12029-018-00199-1


  • An autopsy case of primary extranodal NK/T cell lymphoma (extranodal NK/T-cell lymphoma) of the bile duct

https://www.researchgate.net/publication/330096117_An_autopsy_case_of_primary_extranodal_NKT_cell_lymphoma_extranodal_NKT-cell_lymphoma_of_the_bile_duct


  • Intraductal Papillary Neoplasm of the Bile Duct: Assessment of Invasive Carcinoma and Long-Term Outcomes using MRI

https://www.researchgate.net/publication/329664727_Intraductal_Papillary_Neoplasm_of_the_Bile_Duct_Assessment_of_Invasive_Carcinoma_and_Long-Term_Outcomes_using_MRI


  • Heterotopic chondroid tissue of the main bile duct mimicking Klatskin tumor: case report and review of the literature

https://link.springer.com/article/10.1007/s12328-018-00928-w


  • Prognostic Significance of the Lymph Node Ratio in Surgical Patients With Distal Cholangiocarcinoma

https://www.sciencedirect.com/science/article/pii/S0022480418307753


  • Clinical practice guidelines for IgG4-related sclerosing cholangitis

link


  • Frequency and feasibility of detecting FGFR mRNA expression in archival samples of patients with cholangiocarcinoma (CCA).

http://ascopubs.org/doi/abs/10.1200/JCO.2019.37.4_suppl.281


  • Differences in overall survival for patients with cholangiocarcinoma: Racial/ethnic disparity or socioeconomic factors?

https://www.researchgate.net/publication/330804968_Differences_in_overall_survival_for_patients_with_cholangiocarcinoma_Racialethnic_disparity_or_socioeconomic_factors


- Intrahepatic cholangiocarcinoma: the AJCC/UICC 8th edition updates

Chinese clinical oncology 2018 Oct;7(5):52

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30180751

Intrahepatic cholangiocarcinoma accounts for 5% to 30% of all primary liver cancers, and its incidence has increased in the last 3 decades. Surgical resection remains the only potentially curative treatment but is associated with high tumor recurrence rates. The 7th edition of the American Joint Committee on Cancer (AJCC) Staging Manual introduced a new staging system for intrahepatic cholangiocarcinoma, which was previously staged the same as hepatocellular carcinoma. The recently published 8th edition has subdivided the T1 category to T1a and T1b based on a size cutoff of 5 cm, removed periductal invasion from the T4 category, and downstaged T4 tumors and regional lymph node metastasis from stage IV to IIIB. Continued international efforts to accurately stratify prognosis are important to counsel patients and guide treatment decisions.


Back to top


Gallbladder

IL-33 overexpression in gallbladder cancers associated with pancreatobiliary maljunction.

https://www.ncbi.nlm.nih.gov/pubmed/30882917

  • Prognostic Impact of Lymph Node Excision in T1 and T2 Gallbladder Cancer: a Population-Based and Propensity Score-Matched SEER Analysis.

https://www.ncbi.nlm.nih.gov/pubmed/30887297

  • Molecular Diagnosis of Gall Bladder Cancer

https://link.springer.com/chapter/10.1007/978-981-13-5877-7_2

  • The optimal number of lymph nodes to evaluate among patients undergoing surgery for gallbladder cancer: Correlating the number of nodes removed with survival in 6531 patients

https://onlinelibrary.wiley.com/doi/abs/10.1002/jso.25450


  • An unusual presentation of carcinoma in gallbladder.

https://www.ncbi.nlm.nih.gov/pubmed/30820233


  • Gallbladder Cancer Diagnosis, Surgical Management, and Adjuvant Therapies

https://www.surgical.theclinics.com/article/S0039-6109(18)30178-6/fulltext


  • Mucin 5B, carbonic anhydrase 9 and claudin 18 arepotential theranostic markers of gallbladder carcinoma

https://www.researchgate.net/profile/Jaime_Espinoza7/publication/329375280_MUC5B_CA9_and_CLDN18_are_potential_theranostic_markers_of_gallbladder_carcinoma/links/5c505e29458515a4c74815ef/MUC5B-CA9-and-CLDN18-are-potential-theranostic-markers-of-gallbladder-carcinoma.pdf


  • Uncommon Intraluminal Tumors of the Gallbladder and Biliary Tract: Spectrum of Imaging Appearances

https://pubs.rsna.org/doi/abs/10.1148/rg.2019180164


  • Neuroendocrine Carcinoma and Intracystic Papillary Neoplasm: A Rare Association in the Gallbladder

https://www.karger.com/Article/FullText/495523


  • Positive cystic duct margin at index cholecystectomy in incidental gallbladder cancer is an important negative prognosticator

https://www.sciencedirect.com/science/article/pii/S0748798319300368


  • Fine-needle aspiration cytology of gallbladder with an attempt of cytomorphological classification

http://www.cytojournal.com/article.asp?issn=1742-6413;year=2019;volume=16;issue=1;spage=1;epage=1;aulast=Chandra


  • PIM1 kinase promotes gallbladder cancer cell proliferation via inhibition of proline-rich Akt substrate of 40 kDa (PRAS40)

https://link.springer.com/article/10.1007/s12079-018-00503-5


  • MUC5B, CA9 and CLDN18 are potential theranostic markers of gallbladder carcinoma

https://onlinelibrary.wiley.com/doi/10.1111/his.13797


  • Optimal Surgical Treatment in Patients with T1b Gallbladder Cancer: An International Multicenter Study

https://onlinelibrary.wiley.com/doi/abs/10.1002/jhbp.593


Back to top


Ampulla of Vater


  • Can we classify ampullary tumours better? Clinical, pathological and molecular features. Results of an AGEO study

https://www.nature.com/articles/s41416-019-0415-8


  • Peri-Ampullary Metastasis From Endometrial Adenocarcinoma: A Rare Etiology of Obstructive Jaundice

https://www.gastrores.org/index.php/Gastrores/article/view/1129/1159


  • The Prognostic Relevance of the New 8th Edition of the Union for International Cancer Control Classification of TNM Staging for Ampulla of Vater Carcinoma

https://link.springer.com/article/10.1245/s10434-019-07238-6


  • Staging for Ampullary Carcinoma: Is Less Actually More?

https://link.springer.com/article/10.1245/s10434-019-07241-x


- Gastric-type adenocarcinoma of the duodenum arising from Brunner glands

Pathology international 2019 Jan;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30694586


- The Role of Log Odds of Positive Lymph Nodes in Predicting the Survival after Resection for Ampullary Adenocarcinoma

Pathology oncology research : POR 2019 Jan;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30693420

Lymph node metastasis is a important factor on survival in ampullary adenocarcinoma. Log odds of positive lymph nodes (LODDS) is a novel prognostic indicator on lymph node status. We aimed to evaluate the prognostic impact of LODDS for the patients with ampullary adenocarcinoma who underwent R0 pancreaticoduodenectomy. The study includes 42 patients.. LODDS was calculated as “log (number of metastatic lymph nodes+0.5)/(number of total harvested nodes - metastatic lymph nodes+0.5)”. LODDS subgroups were created based on their LODDS value: LODDS1(LODDS≤ - 1.5), LODDS2(-1.5 < LODDS≤ - 1.0), LODDS3(-1.0 < LODDS≤ - 0.5), LODDS4(LODDS> - 0.5). The mean survival time was 72.7 ± 7.82 months. Survival rates for 1, 3 and 5 years were 93%, 65% and 45%, respectively. The mean LODDS value was -1.0466 ± 0.51. LODDS subgroups show strong correlation with Overall Survival(OS). The mean survival were 114.8, 81.8, 56.6 and 25.6 months in LODDS subgroups 1, 2, 3 and 4, respectively (Log-rank; p = 0.002), in addition LOODS values shows correlation with perineural invasion and micro vascular invasion (p = 0.015 and p = 0.001 respectively). Findings in our patient group support the hypothesis that LODDS subgroups correlate with OS, and that value of LODDS has considerable role in prediction of OS as well.


- [Combined application of immunohistochemical markers to identify pathologic subtypes of ampullary carcinoma and its clinical significance]

Zhonghua bing li xue za zhi = Chinese journal of pathology 2019 Feb;48(2):92-97

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30695858

Objective: To investigate the expression of immunomarkers CK7, CK20, CK17, CDX2, MUC1 and MUC2 in primary adenocarcinoma of the ampulla of Vater, to explore the role of these markers in the histopathologic subclassification of ampullary carcinoma; and to provide biologic basis for precision treatment of patients with different types of ampullary carcinoma. Methods: Forty-two cases of primary ampullary carcinoma were collected at Peking University People’s Hospital, from 2012 to 2018 year. There were 22 males and 20 females. Aged range 42 to 88 years old, with mean aged (62±11) years. Among the patients, 6 was high differentiation, 19 median differentiation, and 17 low differentiation. Immunohistochemical studies on the expression of CK7, CK20, CK17, CDX2, MUC1 and MUC2 were performed in 42 cases of primary ampullary carcinoma. The relationship between different ampullary carcinoma subtypes and clinicopathologic survival data was analyzed using SPSS 16.0 statistical software. Results: Three histopathologic subtypes were observed. Among 42 cases, 8(19.0%)were classified as intestinal subtype, which showed a positive expression rate of 8/8 for both CK20 and CDX2, and 5/8 for MUC2. Both CK7 and CK17 were weakly expressed in one case (1/8). No expression was observed for MUC1 in this subtype. Twenty-two (52.4%,22/42) cases were classified as pancreaticobiliary subtype, which showed a positive expression rate of 100.0%(22/22) for both CK7 and MUC1, and 90.9% (20/22) for CK17. No expression was observed for CK20, CDX2 and MUC2.The remaining 12 (28.6%) cases were classified as mixed subtype, which showed variable expression patterns. The expression frequencies of these 6 immunomarkers in different subtypes of ampullary carcinoma did not correlate with various clinicopathologic factors such as patient gender and age, tumor size, histologic differentiation, pancreatic and bile duct invasion, or the depth of duodenal invasion. However, stage Ⅲ+Ⅳ diseases were more commonly seen in pancreaticobiliary type (63.6%,14/22) than intestinal type (2/8) and mixed type (3/9; χ(2)=6.508, P=0.039). Follow-up data showed a trend of better survival rate for patients with intestinal subtype than those with mixed and pancreaticobiliary subtypes. Conclusions: Ampullary carcinoma can be subclassified into three different subtypes using a panel of six immunomarkers, especially for the identification of subtypes of poorly differentiated carcinoma. CK7, CK17 and MUC1 are major markers of pancreaticobiliary subtype, whereas CK20, CDX2 and MUC2 are useful markers for intestinal subtype. The mixed subtype variably expresses these markers. The prognosis of patients with intestinal subtype appears better than that of pancreaticobiliary and mixed subtypes. Accurate subtyping of ampullary carcinoma is clinically important to patient management and prognosis assessment.


  • Clinical relevance of pancreatobiliary and intestinal subtypes of ampullary and duodenal adenocarcinoma: Pattern of recurrence, chemotherapy, and survival after pancreatoduodenectomy

https://www.sciencedirect.com/science/article/pii/S1424390319300201


  • The Role of Log Odds of Positive Lymph Nodes in Predicting the Survival after Resection for Ampullary Adenocarcinoma

https://link.springer.com/article/10.1007/s12253-019-00584-6


  • Ampullary cancer: Evaluation of somatic and germline genetic alterations and association with clinical outcomes

https://onlinelibrary.wiley.com/doi/abs/10.1002/cncr.31951


  • Adenosquamous carcinoma of the papilla of Vater: A phenotypic heterogeneity characterized by a common molecular landscape

https://onlinelibrary.wiley.com/doi/10.1111/pin.12731


  • Identification of ampullary carcinoma mixed subtype using a panel of six antibodies and its clinical significance

https://onlinelibrary.wiley.com/doi/abs/10.1002/jso.25311


  • Incidence and comparative outcomes of periampullary cancer: A population‐based analysis demonstrating improved outcomes and increased use of adjuvant therapy from 2004 to 2012

https://onlinelibrary.wiley.com/doi/abs/10.1002/jso.25336


  • Distinct immunological properties of the two histological subtypes of adenocarcinoma of the ampulla of Vater

https://link.springer.com/article/10.1007/s00262-018-02293-6


- Predictors of long-term survival after pancreaticoduodenectomy for peri-ampullary adenocarcinoma: A retrospective study of 5-year survivors

Hepatobiliary & pancreatic diseases international : HBPD INT 2018 Oct;17(5):443-449

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30126828

BACKGROUND: Pancreaticoduodenectomy (PD) is the standard curative treatment for periampullary tumors. The aim of this study is to report the incidence and predictors of long-term survival (≥ 5 years) after PD. METHODS: This study included patients who underwent PD for pathologically proven periampullary adenocarcinomas. Patients were divided into 2 groups: group (I) patients who survived less than 5 years and group (II) patients who survived ≥ 5 years. RESULTS: There were 47 (20.6%) long-term survivors (≥ 5 years) among 228 patients underwent PD for periampullary adenocarcinoma. Patients with ampullary adenocarcinoma represented 31 (66.0%) of the long-term survivors. Primary analysis showed that favourable factors for long-term survival include age < 60 years old, serum CEA < 5 ng/mL, serum CA 19-9 < 37 U/mL, non-cirrhotic liver, tumor size < 2 cm, site of primary tumor, postoperative pancreatic fistula, R0 resection, postoperative chemotherapy, and no recurrence. Multivariate analysis demonstrated that CA 19-9 < 37 U/mL [OR (95% CI) = 1.712 (1.248-2.348), P = 0.001], smaller tumor size [OR (95% CI )= 1.335 (1.032-1.726), P = 0.028] and Ro resection [OR (95% CI) = 3.098 (2.095-4.582), P < 0.001] were independent factors for survival ≥ 5 years. The prognosis was best for ampullary adenocarcinoma, for which the median survival was 54 months and 5-year survival rate was 39.0%, and the poorest was pancreatic head adenocarcinoma, for which the median survival was 27 months and 5-year survival rate was 7%. CONCLUSIONS: The majority of long-term survivors after PD for periampullary adenocarcinoma are patients with ampullary tumor. CA 19-9 < 37 U/mL, smaller tumor size, and R0 resection were found to be independent factors for long-term survival ≥ 5 years.


- Ectopic papilla of Vater in duodenum bulb: A hospital-based study

Medicine 2019 Feb;98(8):e14642

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30813203

The major papilla of Vater can be ectopically present in the stomach, pyloric canal, duodenal bulb, and third or fourth portion of the duodenum. In this study, we determined the clinical significance of ectopic papilla of Vater by endoscopic retrograde cholangiopancreatogram (ERCP).A retrospective study was conducted by reviewing the medical records of 6133 patients receiving ERCP from 1988 to 2011. The diagnosis was confirmed if both the common bile duct (CBD) and the main pancreatic duct (PD) drained into the same opening, either by ERCP or magnetic resonance cholangiopancreatography.Eight patients with major papilla of Vater in the duodenal bulb were identified among 6133 patients receiving ERCP from 1988 to 2011, with an incidence rate of 0.13%. The mean age was 67 years and patients were predominantly male. Duodenal bulb deformity was noted in all patients and three of them had shallow gastric and/or duodenal ulcers. Hook-shaped CBD configuration was seen only in half of our cases. Three patients with CBD stones were treated successfully after endoscopic sphincterotomy or papillary balloon dilation.Ectopic orifice of papilla is a rare finding of ERCP. Opacification of both the CBD and main PD from the same opening is an essential criterion for diagnosing an ectopic papilla of Vater in the duodenal bulb.


- Ampullary Cancer

The Surgical clinics of North America 2019 Apr;99(2):357-367

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30846039

Compared with other periampullary tumors, cancers of the ampulla of Vater are rare. These tumors tend to present earlier than their pancreatic and distal bile duct brethren. In addition to the hypothesis that they are also less biologically aggressive, ampullary cancers tend to have better survival than other types of periampullary cancers. The mortality from this disease remains high, and much can still be learned about ampullary cancers.


- Recurrence patterns after pancreaticoduodenectomy for ampullary cancer

Journal of hepato-biliary-pancreatic sciences 2019 Mar;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30849209

BACKGROUND: Few studies of the oncological outcomes of ampullary cancer have addressed recurrence, and many treatment-related issues remain unresolved. This study evaluated optimal surgical treatment strategies based on recurrence patterns after pancreaticoduodenectomy (PD) for ampullary cancer. METHODS: Two hundred fifty-nine patients who underwent PD with R0 resection for ampullary cancer from January 2000 to June 2012 were included. Generally, lymph node (LN) dissection extended to the right superior mesenteric artery (SMA). Recurrence was defined based on imaging studies. The first detected recurrence sites and patterns were analyzed. RESULTS: During a mean follow-up of 51.3 months, recurrence occurred in 89 (34.4%) cases, most commonly in the liver. Poor differentiation, advanced T stage, and LN metastasis were identified as risk factors for recurrence. Locoregional and systemic recurrences occurred alone or simultaneously in 20.2%, 73.0%, and 6.7% of patients, respectively. Locoregional and systemic recurrences tended to occur in early- and advanced-stage cases, respectively. A nodal-type recurrence around mesenteric vessels was the most common locoregional recurrence pattern, and 58.8% (10/17) were located left of the SMA. CONCLUSION: As nodal-type metastasis around the mesenteric vessels was the dominant recurrence pattern, careful LN dissection around the SMA should be considered for early and advanced ampullary cancers. This article is protected by copyright. All rights reserved.


Back to top


Neuroendocrine


  • Patient characteristics and clinical outcomes following initial surgical intervention for MEN1 associated pancreatic neuroendocrine tumours: A systematic review and exploratory meta-analysis of the literature.

https://www.ncbi.nlm.nih.gov/pubmed/30894303


  • Systematic review of current prognostication systems for pancreatic neuroendocrine neoplasms

https://www.surgjournal.com/article/S0039-6060(18)30747-5/fulltext


  • Surgery for Pancreatic Neuroendocrine Tumor G3 and Carcinoma G3 Should be Considered Separately.

https://www.ncbi.nlm.nih.gov/pubmed/30863939


  • Reply to ‘Time for a change and to adopt a novel molecular genomic approach in NETs’

https://www.nature.com/articles/s41571-019-0186-4


  • Intertumor heterogeneity in 60 pancreatic neuroendocrine tumors associated with multiple endocrine neoplasia type 1

https://ojrd.biomedcentral.com/articles/10.1186/s13023-019-1034-4


  • RABL6Ainhibits tumor-suppressive PP2A/AKTsignaling to drivepancreatic neuroendocrine tumor growth

https://dm5migu4zj3pb.cloudfront.net/manuscripts/123000/123049/JCI123049.v1.pdf


  • Tumor-Infiltrating NETs Predict Postsurgical Survival in Patients with Pancreatic Ductal Adenocarcinoma

https://link.springer.com/article/10.1245%2Fs10434-018-6941-4


  • Interaction of race and pathology for neuroendocrine tumors: Epidemiology, natural history, or racial disparity?

https://www.researchgate.net/publication/330804310_Interaction_of_race_and_pathology_for_neuroendocrine_tumors_Epidemiology_natural_history_or_racial_disparity


  • Duodenal neuroendocrine tumors: Somewhere between the pancreas and small bowel?

https://www.researchgate.net/publication/330805018_Duodenal_neuroendocrine_tumors_Somewhere_between_the_pancreas_and_small_bowel


  • The Size of Well Differentiated Pancreatic Neuroendocrine Tumors Correlates with Ki67 Proliferative Index and is not Associated with Age

https://www.researchgate.net/publication/330595215_The_Size_of_Well_Differentiated_Pancreatic_Neuroendocrine_Tumors_Correlates_with_Ki67_Proliferative_Index_and_is_not_Associated_with_Age


  • Role of Tumor Associated Macrophages in the Clinical Course of Pancreatic Neuroendocrine Tumors (PanNETs)

http://clincancerres.aacrjournals.org/content/early/2019/01/19/1078-0432.CCR-18-1401


  • Genetics and Epigenetics of Gastroenteropancreatic Neuroendocrine Neoplasms

https://academic.oup.com/edrv/advance-article-abstract/doi/10.1210/er.2018-00160/5289720


  • Tumor growth rate as a metric of progression, response, and prognosis in pancreatic and intestinal neuroendocrine tumors

https://bmccancer.biomedcentral.com/articles/10.1186/s12885-018-5257-x


  • What Is New in the 2017 World Health Organization Classification and 8th American Joint Committee on Cancer Staging System for Pancreatic Neuroendocrine Neoplasms?

https://www.researchgate.net/publication/330070043_What_Is_New_in_the_2017_World_Health_Organization_Classification_and_8th_American_Joint_Committee_on_Cancer_Staging_System_for_Pancreatic_Neuroendocrine_Neoplasms

https://www.kjronline.org/DOIx.php?id=10.3348/kjr.2018.0040


  • Systematic review of current prognostication systems for pancreatic neuroendocrine neoplasms

https://www.sciencedirect.com/science/article/pii/S0039606018307475


  • Serum chromogranin A for the diagnosis of gastroenteropancreatic neuroendocrine neoplasms and its association with tumour expression

https://www.spandidos-publications.com/10.3892/ol.2018.9795


  • Endoscopic Ultrasound Assessment of Pancreatic Duct Diameter Predicts Neuroendocrine Tumors and Other Pancreas Masses

https://journals.lww.com/pancreasjournal/Abstract/2019/01000/Endoscopic_Ultrasound_Assessment_of_Pancreatic.9.aspx


  • The Molecular and Clinical Landscape of Pancreatic Neuroendocrine Tumors

https://journals.lww.com/pancreasjournal/Abstract/2019/01000/The_Molecular_and_Clinical_Landscape_of_Pancreatic.2.aspx


  • Systematic review of current prognostication systems for pancreatic neuroendocrine neoplasms

https://www.sciencedirect.com/science/article/pii/S0039606018307475


  • Regional differences in gallbladder cancer pathogenesis: Insights from a multi-institutional comparison of tumor mutations: Locality of Gallbladder Tumor Mutations

https://www.researchgate.net/publication/328947053_Regional_differences_in_gallbladder_cancer_pathogenesis_Insights_from_a_multi-institutional_comparison_of_tumor_mutations_Locality_of_Gallbladder_Tumor_Mutations


  • Intracholecystic papillary-tubular neoplasm of the gallbladder originating in the cystic duct with extensive intraepithelial progress in the common bile duct

https://link.springer.com/article/10.1007/s12328-018-0927-4


  • Distribution of dysplasia and cancer in the gallbladder: an analysis from a high cancer-risk population

https://www.sciencedirect.com/science/article/pii/S004681771830282X?dgcid=raven_sd_via_email


  • National Failure of Surgical Staging for T1b Gallbladder Cancer

https://link.springer.com/article/10.1245/s10434-018-7064-7


  • A common classification framework for neuroendocrine neoplasms: an International Agency for Research on Cancer (IARC) and World Health Organization (WHO) expert consensus proposal

https://www.nature.com/articles/s41379-018-0110-y


  • Insulinoma-associated protein 1 immunostaining on cytology specimens: an institutional experience

https://www.sciencedirect.com/science/article/pii/S0046817718304350


  • ATRX loss is an independent predictor of poor survival in pancreatic neuroendocrine tumors

https://www.sciencedirect.com/science/article/pii/S0046817718303009


  • Neoplasms of the Neuroendocrine Pancreas An Update in the Classification, Definition, and Molecular Genetic Advances

https://journals.lww.com/anatomicpathology/Abstract/2019/01000/Neoplasms_of_the_Neuroendocrine_Pancreas___An.2.aspx


  • Patterns of recurrence after resection for pancreatic neuroendocrine tumors: who, when, and where?

link


  • Touch imprint cytology on endoscopic ultrasound fine‐needle biopsy provides comparable sample quality and diagnostic yield to standard eus‐fna specimens in the evaluation of solid pancreatic lesions

https://onlinelibrary.wiley.com/doi/abs/10.1111/cyt.12662


  • Rationale and feasibility of mucin expression profiling by qRT-PCR as diagnostic biomarkers in cytology specimens of pancreatic cancer

link


  • Advances in the cytologic diagnosis of gastroenteropancreatic neuroendocrine neoplasms

https://onlinelibrary.wiley.com/doi/abs/10.1002/cncy.22073


  • Genetic assessment of recurrent pancreatic high-risk lesions in the remnant pancreas: Metachronous multifocal lesion or local recurrence?

https://www.sciencedirect.com/science/article/pii/S0039606018307402


  • ROBO2 is a stroma suppressor gene in the pancreas and acts via TGF-β signalling

https://www.researchgate.net/publication/329324877_ROBO2_is_a_stroma_suppressor_gene_in_the_pancreas_and_acts_via_TGF-b_signalling


  • Mutations in BRCA1, BRCA2, and PALB2, and a panel of 50 cancer-associated genes in pancreatic ductal adenocarcinoma

December 2018Scientific Reports 8(1)

DOI: 10.1038/s41598-018-26526-x

https://www.researchgate.net/publication/325368244_Mutations_in_BRCA1_BRCA2_and_PALB2_and_a_panel_of_50_cancer-associated_genes_in_pancreatic_ductal_adenocarcinoma


  • Coordinately targeting cell cycle checkpoint functions in integrated models of pancreatic cancer

http://clincancerres.aacrjournals.org/content/early/2018/12/11/1078-0432.CCR-18-1620


  • miRNA and Gene Expression in Pancreatic Ductal Adenocarcinoma

https://www.sciencedirect.com/science/article/pii/S0002944018305571


  • Circulating Tumor Cells and Cell-Free DNA in Pancreatic Ductal Adenocarcinoma

https://www.sciencedirect.com/science/article/pii/S0002944017311811


  • GPER is a mechanoregulator of pancreatic stellate cells and the tumor microenvironment

http://embor.embopress.org/content/early/2018/12/06/embr.201846556


  • Genetic alterations analysis in prognostic stratified groups identified TP53 and ARID1A as poor clinical performance markers in intrahepatic cholangiocarcinoma

December 2018Scientific Reports 8(1)

DOI: 10.1038/s41598-018-25669-1

https://www.researchgate.net/publication/325020651_Genetic_alterations_analysis_in_prognostic_stratified_groups_identified_TP53_and_ARID1A_as_poor_clinical_performance_markers_in_intrahepatic_cholangiocarcinoma


  • KRAS, NRAS and BRAF analysis of ampullary adenocarcinoma classified using CK7, CK20, MUC1 and MUC2

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6219964/

  • Mass Spectrometry-Based Comprehensive Analysis of Pancreatic Cyst Fluids

https://www.hindawi.com/journals/bmri/2018/7169595/


  • A “Clearer” View of Pancreatic Pathology A Review of Tissue Clearing and Advanced Microscopy Techniques

https://journals.lww.com/anatomicpathology/Abstract/2019/01000/A__Clearer__View_of_Pancreatic_Pathology___A.3.aspx


  • Pancreatic Ductal Adenocarcinoma: Recent Updates

https://www.sciencedirect.com/science/article/pii/S0002944018308551


  • German National Case Collection for familial pancreatic Cancer (FaPaCa) - acceptance and psychological aspects of a pancreatic cancer screening program

https://hccpjournal.biomedcentral.com/articles/10.1186/s13053-018-0100-6


  • Recent treatment patterns and survival outcomes in pancreatic cancer according to clinical stage based on single-center large-cohort data

https://synapse.koreamed.org/search.php?where=aview&id=10.14701/ahbps.2018.22.4.386&code=2110AHBPS&vmode=FULL


  • A systematic assessment of statistics, risk factors, and underlying features involved in pancreatic cancer

https://www.sciencedirect.com/science/article/pii/S1877782118305101


  • PANCREATIC CANCER IN BRAZIL: MORTALITY TRENDS AND PROJECTIONS UNTIL 2029

http://www.scielo.br/scielo.php?pid=S0004-28032018002300230&script=sci_arttext


  • Results of First-round of Surveillance in Individuals at High-risk of Pancreatic Cancer from the AISP (Italian Association for the Study of the Pancreas) Registry

https://www.nature.com/articles/s41395-018-0414-z


  • Familial Pancreatic Ductal Adenocarcinoma

https://www.sciencedirect.com/science/article/pii/S0002944018302062


  • Current Approaches to Pancreatic Cancer Screening

https://www.sciencedirect.com/science/article/pii/S0002944018302529


  • The impact of the immune microenvironment in patients with GEP-NETs.

http://ascopubs.org/doi/abs/10.1200/JCO.2019.37.4_suppl.267


  • Surgery for Pancreatic Neuroendocrine Tumor G3 and Carcinoma G3 Should be Considered Separately

https://link.springer.com/article/10.1245/s10434-019-07252-8


  • A simple and practical index predicting the prognoses of the patients with well-differentiated pancreatic neuroendocrine neoplasms

https://link.springer.com/article/10.1007/s00535-019-01570-0


LS0tCnRpdGxlOiAiUGFuY3JlYXRvYmlsaWFyeSBQYXRob2xvZ3kgU29jaWV0eSBKb3VybmFsIFdhdGNoIgpvdXRwdXQ6CiAgaHRtbF9ub3RlYm9vazogCiAgICBjb2RlX2ZvbGRpbmc6IG5vbmUKICAgIGZpZ19jYXB0aW9uOiB5ZXMKICAgIGhpZ2hsaWdodDogbnVsbAogICAgdGhlbWU6IHBhcGVyCiAgcGRmX2RvY3VtZW50OgogICAga2VlcF90ZXg6IHllcwogICAgbGF0ZXhfZW5naW5lOiB4ZWxhdGV4CiAgICB0b2M6IHllcwogICAgdG9jX2RlcHRoOiA1CiAgaHRtbF9kb2N1bWVudDoKICAgIGRmX3ByaW50OiBrYWJsZQogICAgaGlnaGxpZ2h0OiBudWxsCiAgICBrZWVwX21kOiB5ZXMKICB3b3JkX2RvY3VtZW50OgogICAgdG9jOiB5ZXMKZGF0ZTogIkxhc3QgVXBkYXRlIG9uIGByIGZvcm1hdChTeXMuRGF0ZSgpKWAiCnN1YnRpdGxlOiAiRmVicnVhcnkgTWFyY2ggMjAxOSIKLS0tCgpgYGB7ciBnbG9iYWxfb3B0aW9ucywgaW5jbHVkZT1GQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGNhY2hlID0gVFJVRSkKYGBgCgoKPCEtLSBPcGVuIGFsbCBsaW5rcyBpbiBuZXcgdGFiLS0+ICAKPGJhc2UgdGFyZ2V0PSJfYmxhbmsiLz4gIAoKCjwhLS0gaHR0cHM6Ly93d3cuYWRkdGhpcy5jb20vYWNhZGVteS9zZXR0aW5nLXRoZS11cmwtdGl0bGUtdG8tc2hhcmUvIC0tPiAgCgo8IS0tIEdvIHRvIHd3dy5hZGR0aGlzLmNvbS9kYXNoYm9hcmQgdG8gY3VzdG9taXplIHlvdXIgdG9vbHMgSm91cm5hbCBXYXRjaCAxIElubGluZSBzaGFyZS0tPiAgCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vczcuYWRkdGhpcy5jb20vanMvMzAwL2FkZHRoaXNfd2lkZ2V0LmpzI3B1YmlkPXJhLTViYzI1YjgyZDBhOWMxOGQiPiAgCjwvc2NyaXB0PiAKCgo8IS0tIFshW10oZmlndXJlcy9QQlBfaGVhZGVyX2xvZ28uanBnKV0oaHR0cDovL3BicGF0aC5vcmcvKSAtLT4KCgotLS0KCiMgUEJQYXRoIEpvdXJuYWwgV2F0Y2ggQXJ0aWNsZXMgey50YWJzZXQgLnRhYnNldC1mYWRlIC50YWJzZXQtcGlsbHN9CgoKYGBge3Igc3RyaW5ncyAsIGluY2x1ZGU9RkFMU0V9ClB1Yk1lZFN0cmluZyA8LSAiUHViTWVkOiBodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC8/dGVybT0iCgpkb2lTdHJpbmcgPC0gImRvaTogaHR0cHM6Ly9kb2kub3JnLyIKCmRpbWVuc2lvblN0cmluZzEgPC0gIjxzY3JpcHQgYXN5bmM9JycgY2hhcnNldD0ndXRmLTgnIHNyYz0naHR0cHM6Ly9iYWRnZS5kaW1lbnNpb25zLmFpL2JhZGdlLmpzJz48L3NjcmlwdD4gPHNwYW4gY2xhc3M9J19fZGltZW5zaW9uc19iYWRnZV9lbWJlZF9fJyBkYXRhLWRvaT0nIgoKZGltZW5zaW9uU3RyaW5nMiA8LSAiJyBkYXRhLXN0eWxlPSdzbWFsbF9jaXJjbGUnIGRhdGEtaGlkZS16ZXJvLWNpdGF0aW9ucz0ndHJ1ZScgZGF0YS1sZWdlbmQ9J2Fsd2F5cyc+PC9zcGFuPiIKCmFsdG1ldHJpY1N0cmluZzEgPC0iPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cHM6Ly9kMWJ4aDh1YXMxbW53Ny5jbG91ZGZyb250Lm5ldC9hc3NldHMvZW1iZWQuanMnPjwvc2NyaXB0PiA8c3BhbiBjbGFzcz0nYWx0bWV0cmljLWVtYmVkJyBkYXRhLWxpbmstdGFyZ2V0PSdfYmxhbmsnIGRhdGEtYmFkZ2UtZGV0YWlscz0ncmlnaHQnIGRhdGEtYmFkZ2UtdHlwZT0nZG9udXQnIGRhdGEtZG9pPSciCgphbHRtZXRyaWNTdHJpbmcyIDwtICInIGRhdGEtaGlkZS1uby1tZW50aW9ucz0ndHJ1ZSc+PC9zcGFuPiIKCmFkZHRoaXNfU3RyaW5nMSA8LSAiPGRpdiBjbGFzcz0nYWRkdGhpc19pbmxpbmVfc2hhcmVfdG9vbGJveCcgZGF0YS11cmw9J3BicGF0aC5vcmcvY3VycmVudC1qb3VybmFsLXdhdGNoLycgZGF0YS10aXRsZT0nU2VlIHRoaXMgYWJzdHJhY3Qgb24gI1BCUGF0aCAjSm91cm5hbFdhdGNoIDogIgoKYWRkdGhpc19TdHJpbmcyIDwtICInPjwvZGl2PiIKCmBgYAoKCgotLS0KCioqV2VsbGNvbWUgdG8gdGhlIFBCUGF0aCBKb3VybmFsIFdhdGNoISoqIAoKVGhpcyBiaS1tb250aGx5IGpvdXJuYWwgd2F0Y2ggZmVhdHVyZXMgZXhjaXRpbmcgcmVjZW50bHkgcHVibGlzaGVkIHBhbmNyZWFzIGFuZCBiaWxpYXJ5IHBhdGhvbG9neSBhcnRpY2xlcyB0aGF0IHdpbGwgcHJvdmlkZSB1cCB0byBkYXRlIG1lZGljYWwga25vd2xlZGdlIGluIG91ciBmaWVsZC4gVGhlc2UgYXJ0aWNsZXMgd2lsbCBiZSBzaG93Y2FzZWQgaW4gc2V2ZXJhbCBjb252ZW5pZW50IGNhdGVnb3JpZXMsIGluY2x1ZGluZyBzdXJnaWNhbCBwYXRob2xvZ3ksIGN5dG9wYXRob2xvZ3ksIGFuZCBtb2xlY3VsYXIgcGF0aG9sb2d5IGFtb25nIG90aGVycy4gVGhlIGFydGljbGVzIGluIGVhY2ggY2F0ZWdvcnkgYXJlIGluIG5vIHBhcnRpY3VsYXIgb3JkZXIuICAKClByZXZpb3VzIG1vbnRoc+KAmSBpc3N1ZXMgbWF5IGJlIGZvdW5kIGluIG91ciAqW2FyY2hpdmVdKGh0dHA6Ly9wYnBhdGgub3JnL2pvdXJuYWwtd2F0Y2gtYXJjaGl2ZS8pKi4gIAoKV2UgZW5jb3VyYWdlIG1lbWJlcnMgdG8gYWN0aXZlbHkgcGFydGljaXBhdGUgYnkgcmVjb21tZW5kaW5nIG5ldyBhcnRpY2xlcyBhbmQgcHJvdmlkaW5nIGZlZWRiYWNrIHVzaW5nICpbdGhlIGZvcm1zIHByb3ZpZGVkXShodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9mb3Jtcy9kL2UvMUZBSXBRTFNlRDNaOUo2WTdlTW1peU0xMmZfU2ZBbUhVbHlrYjF6eFpjd082bGc3Y2ViR1lRSVEvdmlld2Zvcm0pKi4gIAoKKipXZSBob3BlIHRoYXQgeW91IHdpbGwgZW5qb3kgdGhlIG5ldyBQQlBhdGggSm91cm5hbCBXYXRjaCEqKiAgCgoKCgoKXHBhZ2VicmVhawoKCi0tLQoKCiMjIFN1cmdpY2FsIFBhdGhvbG9neSB7LnRhYnNldH0KCi0tLQoKIyMjIFBhbmNyZWFzCgoKLS0tCgojIyMjIE1vcnBob2xvZ3ksIERpYWdub3N0aWNzLCBJSEMKCk1vcnBob2xvZ3ksIERpYWdub3N0aWNzLCBJSEMKCgpgYGB7ciBTIFBhbmNyZWFzIE1vcnBob2xvZ3kgRGlhZ25vc3RpY3MgSUhDLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCgpgYGB7ciAzMDcxODE4NywgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA3MTgxODcgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA3MTgxODcnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA3MTgxODcgPC0gcGFzdGUwKFBNSURfMzA3MTgxODckam91cm5hbCwnICcsIFBNSURfMzA3MTgxODckeWVhciwgJyAnLCBQTUlEXzMwNzE4MTg3JG1vbnRoLCc7JywgUE1JRF8zMDcxODE4NyR2b2x1bWUsJygnLCBQTUlEXzMwNzE4MTg3JG51bWJlciwnKTonLCBQTUlEXzMwNzE4MTg3JHBhZ2VzKQoKUHViTWVkXzMwNzE4MTg3IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA3MTgxODckZXByaW50KQoKZG9pXzMwNzE4MTg3IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA3MTgxODckZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA3MTgxODcgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA3MTgxODckZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDcxODE4NyA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDcxODE4NyRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA3MTgxODcgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDcxODE4NyR0aXRsZSAsICIgUE1JRDogMzA3MTgxODcgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNzE4MTg3JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA3MTgxODdgKgoKYHIgUHViTWVkXzMwNzE4MTg3YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA3MTgxODdgCgpgciBQTUlEXzMwNzE4MTg3JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA3MTgxODdgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA3MTgxODdgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDcxODE4N2AKCjwvZGV0YWlscz4KCi0tLQoKYGBge3IgMzA2MjkwMzAsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNjI5MDMwIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNjI5MDMwJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNjI5MDMwIDwtIHBhc3RlMChQTUlEXzMwNjI5MDMwJGpvdXJuYWwsJyAnLCBQTUlEXzMwNjI5MDMwJHllYXIsICcgJywgUE1JRF8zMDYyOTAzMCRtb250aCwnOycsIFBNSURfMzA2MjkwMzAkdm9sdW1lLCcoJywgUE1JRF8zMDYyOTAzMCRudW1iZXIsJyk6JywgUE1JRF8zMDYyOTAzMCRwYWdlcykKClB1Yk1lZF8zMDYyOTAzMCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNjI5MDMwJGVwcmludCkKCmRvaV8zMDYyOTAzMCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNjI5MDMwJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNjI5MDMwIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNjI5MDMwJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA2MjkwMzAgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA2MjkwMzAkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNjI5MDMwIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA2MjkwMzAkdGl0bGUgLCAiIFBNSUQ6IDMwNjI5MDMwICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDYyOTAzMCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNjI5MDMwYCoKCmByIFB1Yk1lZF8zMDYyOTAzMGAKCmByIGFkZHRoaXNfaW5saW5lXzMwNjI5MDMwYAoKYHIgUE1JRF8zMDYyOTAzMCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNjI5MDMwYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNjI5MDMwYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA2MjkwMzBgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwMTcxNTExLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDE3MTUxMSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDE3MTUxMScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDE3MTUxMSA8LSBwYXN0ZTAoUE1JRF8zMDE3MTUxMSRqb3VybmFsLCcgJywgUE1JRF8zMDE3MTUxMSR5ZWFyLCAnICcsIFBNSURfMzAxNzE1MTEkbW9udGgsJzsnLCBQTUlEXzMwMTcxNTExJHZvbHVtZSwnKCcsIFBNSURfMzAxNzE1MTEkbnVtYmVyLCcpOicsIFBNSURfMzAxNzE1MTEkcGFnZXMpCgpQdWJNZWRfMzAxNzE1MTEgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDE3MTUxMSRlcHJpbnQpCgpkb2lfMzAxNzE1MTEgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDE3MTUxMSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDE3MTUxMSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDE3MTUxMSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMTcxNTExIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMTcxNTExJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDE3MTUxMSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMTcxNTExJHRpdGxlICwgIiBQTUlEOiAzMDE3MTUxMSAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAxNzE1MTEkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDE3MTUxMWAqCgpgciBQdWJNZWRfMzAxNzE1MTFgCgpgciBhZGR0aGlzX2lubGluZV8zMDE3MTUxMWAKCmByIFBNSURfMzAxNzE1MTEkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDE3MTUxMWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDE3MTUxMWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwMTcxNTExYAoKPC9kZXRhaWxzPgoKLS0tCgoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCiMjIyMgU3RhZ2luZwoKUGFuY3JlYXMgVE5NIHN0YWdpbmcsIE1hcmdpbnMsIFN1cnZpdmFsCgpgYGB7ciBTIFBhbmNyZWFzIFROTSBzdGFnaW5nIE1hcmdpbnMgU3Vydml2YWwsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKLSAqKkFzc29jaWF0aW9uIEJldHdlZW4gVmVyeSBTbWFsbCBUdW1vciBTaXplIGFuZCBEZWNyZWFzZWQgT3ZlcmFsbCBTdXJ2aXZhbCBpbiBOb2RlLVBvc2l0aXZlIFBhbmNyZWF0aWMgQ2FuY2VyLioqCgpodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC8zMDI5ODMzMQoKCi0tLQoKYGBge3IgMzA4NjM4MDcsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwODYzODA3IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwODYzODA3JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwODYzODA3IDwtIHBhc3RlMChQTUlEXzMwODYzODA3JGpvdXJuYWwsJyAnLCBQTUlEXzMwODYzODA3JHllYXIsICcgJywgUE1JRF8zMDg2MzgwNyRtb250aCwnOycsIFBNSURfMzA4NjM4MDckdm9sdW1lLCcoJywgUE1JRF8zMDg2MzgwNyRudW1iZXIsJyk6JywgUE1JRF8zMDg2MzgwNyRwYWdlcykKClB1Yk1lZF8zMDg2MzgwNyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwODYzODA3JGVwcmludCkKCmRvaV8zMDg2MzgwNyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwODYzODA3JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwODYzODA3IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwODYzODA3JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA4NjM4MDcgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA4NjM4MDckZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwODYzODA3IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA4NjM4MDckdGl0bGUgLCAiIFBNSUQ6IDMwODYzODA3ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDg2MzgwNyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwODYzODA3YCoKCmByIFB1Yk1lZF8zMDg2MzgwN2AKCmByIGFkZHRoaXNfaW5saW5lXzMwODYzODA3YAoKYHIgUE1JRF8zMDg2MzgwNyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwODYzODA3YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwODYzODA3YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA4NjM4MDdgCgo8L2RldGFpbHM+CgoKICAgIDMwOTAyNDE5CgotLS0KCmBgYHtyIDMwOTAyNDE5LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDkwMjQxOSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDkwMjQxOScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDkwMjQxOSA8LSBwYXN0ZTAoUE1JRF8zMDkwMjQxOSRqb3VybmFsLCcgJywgUE1JRF8zMDkwMjQxOSR5ZWFyLCAnICcsIFBNSURfMzA5MDI0MTkkbW9udGgsJzsnLCBQTUlEXzMwOTAyNDE5JHZvbHVtZSwnKCcsIFBNSURfMzA5MDI0MTkkbnVtYmVyLCcpOicsIFBNSURfMzA5MDI0MTkkcGFnZXMpCgpQdWJNZWRfMzA5MDI0MTkgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDkwMjQxOSRlcHJpbnQpCgpkb2lfMzA5MDI0MTkgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDkwMjQxOSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDkwMjQxOSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDkwMjQxOSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwOTAyNDE5IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwOTAyNDE5JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDkwMjQxOSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwOTAyNDE5JHRpdGxlICwgIiBQTUlEOiAzMDkwMjQxOSAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA5MDI0MTkkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDkwMjQxOWAqCgpgciBQdWJNZWRfMzA5MDI0MTlgCgpgciBhZGR0aGlzX2lubGluZV8zMDkwMjQxOWAKCmByIFBNSURfMzA5MDI0MTkkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDkwMjQxOWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDkwMjQxOWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwOTAyNDE5YAoKPC9kZXRhaWxzPgoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCiMjIyMgUHJlbmVvcGxhc3RpYyBhbmQgUHJlaW52YXNpdmUgTGVzaW9ucyAKClByZW5lb3BsYXN0aWMgYW5kIFByZWludmFzaXZlIExlc2lvbnMsIFBhbklOLCBJUE1OLCBNQ04sIElDUE4KCmBgYHtyIFMgUGFuY3JlYXMgUHJlbmVvcGxhc3RpYyBhbmQgUHJlaW52YXNpdmUgTGVzaW9ucyBJUE1OLCBNQ04sIElUUE4sICBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKIyMjIyBNaWNyb2Vudmlyb25tZW50IAoKVHVtb3IgU3Ryb21hIEludGVyYWN0aW9ucywgTWljcm9lbnZpcm9ubWVudCwgSW5mbGFtbWF0b3J5IFJlc3BvbnNlCgpgYGB7ciBTIFR1bW9yIFN0cm9tYSBJbnRlcmFjdGlvbnMgTWljcm9lbnZpcm9ubWVudCBJbmZsYW1tYXRvcnkgUmVzcG9uc2UsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMzA4NDMxMDYsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwODQzMTA2IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwODQzMTA2JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwODQzMTA2IDwtIHBhc3RlMChQTUlEXzMwODQzMTA2JGpvdXJuYWwsJyAnLCBQTUlEXzMwODQzMTA2JHllYXIsICcgJywgUE1JRF8zMDg0MzEwNiRtb250aCwnOycsIFBNSURfMzA4NDMxMDYkdm9sdW1lLCcoJywgUE1JRF8zMDg0MzEwNiRudW1iZXIsJyk6JywgUE1JRF8zMDg0MzEwNiRwYWdlcykKClB1Yk1lZF8zMDg0MzEwNiA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwODQzMTA2JGVwcmludCkKCmRvaV8zMDg0MzEwNiA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwODQzMTA2JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwODQzMTA2IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwODQzMTA2JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA4NDMxMDYgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA4NDMxMDYkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwODQzMTA2IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA4NDMxMDYkdGl0bGUgLCAiIFBNSUQ6IDMwODQzMTA2ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDg0MzEwNiR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwODQzMTA2YCoKCmByIFB1Yk1lZF8zMDg0MzEwNmAKCmByIGFkZHRoaXNfaW5saW5lXzMwODQzMTA2YAoKYHIgUE1JRF8zMDg0MzEwNiRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwODQzMTA2YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwODQzMTA2YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA4NDMxMDZgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwNzIxNjYzLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDcyMTY2MyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDcyMTY2MycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDcyMTY2MyA8LSBwYXN0ZTAoUE1JRF8zMDcyMTY2MyRqb3VybmFsLCcgJywgUE1JRF8zMDcyMTY2MyR5ZWFyLCAnICcsIFBNSURfMzA3MjE2NjMkbW9udGgsJzsnLCBQTUlEXzMwNzIxNjYzJHZvbHVtZSwnKCcsIFBNSURfMzA3MjE2NjMkbnVtYmVyLCcpOicsIFBNSURfMzA3MjE2NjMkcGFnZXMpCgpQdWJNZWRfMzA3MjE2NjMgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDcyMTY2MyRlcHJpbnQpCgpkb2lfMzA3MjE2NjMgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDcyMTY2MyRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDcyMTY2MyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDcyMTY2MyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNzIxNjYzIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNzIxNjYzJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDcyMTY2MyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNzIxNjYzJHRpdGxlICwgIiBQTUlEOiAzMDcyMTY2MyAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA3MjE2NjMkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDcyMTY2M2AqCgpgciBQdWJNZWRfMzA3MjE2NjNgCgpgciBhZGR0aGlzX2lubGluZV8zMDcyMTY2M2AKCmByIFBNSURfMzA3MjE2NjMkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDcyMTY2M2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDcyMTY2M2AKCmByIGFsdG1ldHJpY0JhZGdlXzMwNzIxNjYzYAoKPC9kZXRhaWxzPgoKLS0tCgpgYGB7ciAzMDg3MjM5MiwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA4NzIzOTIgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA4NzIzOTInLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA4NzIzOTIgPC0gcGFzdGUwKFBNSURfMzA4NzIzOTIkam91cm5hbCwnICcsIFBNSURfMzA4NzIzOTIkeWVhciwgJyAnLCBQTUlEXzMwODcyMzkyJG1vbnRoLCc7JywgUE1JRF8zMDg3MjM5MiR2b2x1bWUsJygnLCBQTUlEXzMwODcyMzkyJG51bWJlciwnKTonLCBQTUlEXzMwODcyMzkyJHBhZ2VzKQoKUHViTWVkXzMwODcyMzkyIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA4NzIzOTIkZXByaW50KQoKZG9pXzMwODcyMzkyIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA4NzIzOTIkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA4NzIzOTIgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA4NzIzOTIkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDg3MjM5MiA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDg3MjM5MiRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA4NzIzOTIgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDg3MjM5MiR0aXRsZSAsICIgUE1JRDogMzA4NzIzOTIgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwODcyMzkyJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA4NzIzOTJgKgoKYHIgUHViTWVkXzMwODcyMzkyYAoKYHIgYWRkdGhpc19pbmxpbmVfMzA4NzIzOTJgCgpgciBQTUlEXzMwODcyMzkyJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA4NzIzOTJgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA4NzIzOTJgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDg3MjM5MmAKCjwvZGV0YWlscz4KCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyMjIFNQTgoKU29saWQgUHNldWRvcGFwaWxsYXJ5IE5lb3BsYXNtCgpgYGB7ciBTIFNQTiBTb2xpZCBQc2V1ZG9wYXBpbGxhcnkgTmVvcGxhc20sIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMzA4NDU4NTUsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwODQ1ODU1IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwODQ1ODU1JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwODQ1ODU1IDwtIHBhc3RlMChQTUlEXzMwODQ1ODU1JGpvdXJuYWwsJyAnLCBQTUlEXzMwODQ1ODU1JHllYXIsICcgJywgUE1JRF8zMDg0NTg1NSRtb250aCwnOycsIFBNSURfMzA4NDU4NTUkdm9sdW1lLCcoJywgUE1JRF8zMDg0NTg1NSRudW1iZXIsJyk6JywgUE1JRF8zMDg0NTg1NSRwYWdlcykKClB1Yk1lZF8zMDg0NTg1NSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwODQ1ODU1JGVwcmludCkKCmRvaV8zMDg0NTg1NSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwODQ1ODU1JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwODQ1ODU1IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwODQ1ODU1JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA4NDU4NTUgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA4NDU4NTUkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwODQ1ODU1IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA4NDU4NTUkdGl0bGUgLCAiIFBNSUQ6IDMwODQ1ODU1ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDg0NTg1NSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwODQ1ODU1YCoKCmByIFB1Yk1lZF8zMDg0NTg1NWAKCmByIGFkZHRoaXNfaW5saW5lXzMwODQ1ODU1YAoKYHIgUE1JRF8zMDg0NTg1NSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwODQ1ODU1YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwODQ1ODU1YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA4NDU4NTVgCgo8L2RldGFpbHM+CgotLS0KCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCiMjIyMgQW5hbG9ndWUgVHVtb3JzICYgTGVzaW9ucwoKCmBgYHtyIFMgUGFuY3JlYXMgQW5hbG9ndWUgVHVtb3JzIExlc2lvbnMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCgotLS0KCgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKIyMjIyBQYW5jcmVhdGl0aXMgJiBPdGhlciBEaXNlYXNlcwoKYGBge3IgUGFuY3JlYXMgUGFuY3JlYXRpdGlzICYgT3RoZXIgRGlzZWFzZXMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMzA3MTQxNDYsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNzE0MTQ2IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNzE0MTQ2JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNzE0MTQ2IDwtIHBhc3RlMChQTUlEXzMwNzE0MTQ2JGpvdXJuYWwsJyAnLCBQTUlEXzMwNzE0MTQ2JHllYXIsICcgJywgUE1JRF8zMDcxNDE0NiRtb250aCwnOycsIFBNSURfMzA3MTQxNDYkdm9sdW1lLCcoJywgUE1JRF8zMDcxNDE0NiRudW1iZXIsJyk6JywgUE1JRF8zMDcxNDE0NiRwYWdlcykKClB1Yk1lZF8zMDcxNDE0NiA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNzE0MTQ2JGVwcmludCkKCmRvaV8zMDcxNDE0NiA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNzE0MTQ2JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNzE0MTQ2IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNzE0MTQ2JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA3MTQxNDYgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA3MTQxNDYkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNzE0MTQ2IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA3MTQxNDYkdGl0bGUgLCAiIFBNSUQ6IDMwNzE0MTQ2ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDcxNDE0NiR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNzE0MTQ2YCoKCmByIFB1Yk1lZF8zMDcxNDE0NmAKCmByIGFkZHRoaXNfaW5saW5lXzMwNzE0MTQ2YAoKYHIgUE1JRF8zMDcxNDE0NiRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNzE0MTQ2YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNzE0MTQ2YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA3MTQxNDZgCgo8L2RldGFpbHM+CgoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCgoKIyMjIEJpbGUgRHVjdHMKCmBgYHtyIFMgQmlsZSBEdWN0cywgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgotLS0KCiMjIyMgTW9ycGhvbG9neSwgRGlhZ25vc3RpY3MsIElIQwoKTW9ycGhvbG9neSwgRGlhZ25vc3RpY3MsIElIQwoKCmBgYHtyIFMgQmlsZSBEdWN0cyBNb3JwaG9sb2d5IERpYWdub3N0aWNzIElIQywgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKLS0tCgpgYGB7ciAzMDcyOTYyMywgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA3Mjk2MjMgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA3Mjk2MjMnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA3Mjk2MjMgPC0gcGFzdGUwKFBNSURfMzA3Mjk2MjMkam91cm5hbCwnICcsIFBNSURfMzA3Mjk2MjMkeWVhciwgJyAnLCBQTUlEXzMwNzI5NjIzJG1vbnRoLCc7JywgUE1JRF8zMDcyOTYyMyR2b2x1bWUsJygnLCBQTUlEXzMwNzI5NjIzJG51bWJlciwnKTonLCBQTUlEXzMwNzI5NjIzJHBhZ2VzKQoKUHViTWVkXzMwNzI5NjIzIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA3Mjk2MjMkZXByaW50KQoKZG9pXzMwNzI5NjIzIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA3Mjk2MjMkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA3Mjk2MjMgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA3Mjk2MjMkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDcyOTYyMyA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDcyOTYyMyRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA3Mjk2MjMgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDcyOTYyMyR0aXRsZSAsICIgUE1JRDogMzA3Mjk2MjMgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNzI5NjIzJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA3Mjk2MjNgKgoKYHIgUHViTWVkXzMwNzI5NjIzYAoKYHIgYWRkdGhpc19pbmxpbmVfMzA3Mjk2MjNgCgpgciBQTUlEXzMwNzI5NjIzJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA3Mjk2MjNgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA3Mjk2MjNgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDcyOTYyM2AKCjwvZGV0YWlscz4KCi0tLQoKCgoKCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgojIyMjIFN0YWdpbmcKCkJpbGUgRHVjdHMgVE5NIHN0YWdpbmcsIE1hcmdpbnMsIFN1cnZpdmFsCgpgYGB7ciBCaWxlIER1Y3RzIFROTSBzdGFnaW5nIE1hcmdpbnMgU3Vydml2YWwsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKCi0tLQoKCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKIyMjIEdhbGxibGFkZGVyCgoKYGBge3IgUyBHYWxsYmxhZGRlciwgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKLS0tCgojIyMjIE1vcnBob2xvZ3ksIERpYWdub3N0aWNzLCBJSEMKCk1vcnBob2xvZ3ksIERpYWdub3N0aWNzLCBJSEMKCgpgYGB7ciBTIEdhbGxibGFkZGVyIE1vcnBob2xvZ3kgRGlhZ25vc3RpY3MgSUhDLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCi0tLQoKLSAqKklM4oCQMzMgb3ZlcmV4cHJlc3Npb24gaW4gZ2FsbGJsYWRkZXIgY2FuY2VycyBhc3NvY2lhdGVkIHdpdGggcGFuY3JlYXRvYmlsaWFyeSBtYWxqdW5jdGlvbioqCgpodHRwczovL29ubGluZWxpYnJhcnkud2lsZXkuY29tL2RvaS9hYnMvMTAuMTExMS9oaXMuMTM4NjMKCgotLS0KCgoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCiMjIyMgU3RhZ2luZwoKR2FsbGJsYWRkZXIgVE5NIHN0YWdpbmcsIE1hcmdpbnMsIFN1cnZpdmFsCgpgYGB7ciBHYWxsYmxhZGRlciBUTk0gc3RhZ2luZyBNYXJnaW5zIFN1cnZpdmFsLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCmBgYHtyIDMwODY0MjQ2LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDg2NDI0NiA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDg2NDI0NicsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDg2NDI0NiA8LSBwYXN0ZTAoUE1JRF8zMDg2NDI0NiRqb3VybmFsLCcgJywgUE1JRF8zMDg2NDI0NiR5ZWFyLCAnICcsIFBNSURfMzA4NjQyNDYkbW9udGgsJzsnLCBQTUlEXzMwODY0MjQ2JHZvbHVtZSwnKCcsIFBNSURfMzA4NjQyNDYkbnVtYmVyLCcpOicsIFBNSURfMzA4NjQyNDYkcGFnZXMpCgpQdWJNZWRfMzA4NjQyNDYgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDg2NDI0NiRlcHJpbnQpCgpkb2lfMzA4NjQyNDYgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDg2NDI0NiRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDg2NDI0NiA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDg2NDI0NiRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwODY0MjQ2IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwODY0MjQ2JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDg2NDI0NiA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwODY0MjQ2JHRpdGxlICwgIiBQTUlEOiAzMDg2NDI0NiAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA4NjQyNDYkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDg2NDI0NmAqCgpgciBQdWJNZWRfMzA4NjQyNDZgCgpgciBhZGR0aGlzX2lubGluZV8zMDg2NDI0NmAKCmByIFBNSURfMzA4NjQyNDYkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDg2NDI0NmAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDg2NDI0NmAKCmByIGFsdG1ldHJpY0JhZGdlXzMwODY0MjQ2YAoKPC9kZXRhaWxzPgoKLS0tCgotICoqUHJvZ25vc3RpYyBJbXBhY3Qgb2YgTHltcGggTm9kZSBFeGNpc2lvbiBpbiBUMSBhbmQgVDIgR2FsbGJsYWRkZXIgQ2FuY2VyOiBhIFBvcHVsYXRpb24tQmFzZWQgYW5kIFByb3BlbnNpdHkgU2NvcmUtTWF0Y2hlZCBTRUVSIEFuYWx5c2lzKioKCmh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vYXJ0aWNsZS8xMC4xMDA3L3MxMTYwNS0wMTktMDQxNzUtMwoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCiMjIyBBbXB1bGxhIG9mIFZhdGVyCgpgYGB7ciBTIEFtcHVsbGEgb2YgVmF0ZXIsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKLS0tCgojIyMjIE1vcnBob2xvZ3ksIERpYWdub3N0aWNzLCBJSEMKCk1vcnBob2xvZ3ksIERpYWdub3N0aWNzLCBJSEMKCgpgYGB7ciBTIEFtcHVsbGEgb2YgVmF0ZXIgTW9ycGhvbG9neSBEaWFnbm9zdGljcyBJSEMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMzA1NDg1NDcsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNTQ4NTQ3IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNTQ4NTQ3JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNTQ4NTQ3IDwtIHBhc3RlMChQTUlEXzMwNTQ4NTQ3JGpvdXJuYWwsJyAnLCBQTUlEXzMwNTQ4NTQ3JHllYXIsICcgJywgUE1JRF8zMDU0ODU0NyRtb250aCwnOycsIFBNSURfMzA1NDg1NDckdm9sdW1lLCcoJywgUE1JRF8zMDU0ODU0NyRudW1iZXIsJyk6JywgUE1JRF8zMDU0ODU0NyRwYWdlcykKClB1Yk1lZF8zMDU0ODU0NyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNTQ4NTQ3JGVwcmludCkKCmRvaV8zMDU0ODU0NyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNTQ4NTQ3JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNTQ4NTQ3IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNTQ4NTQ3JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA1NDg1NDcgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA1NDg1NDckZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNTQ4NTQ3IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA1NDg1NDckdGl0bGUgLCAiIFBNSUQ6IDMwNTQ4NTQ3ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDU0ODU0NyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNTQ4NTQ3YCoKCmByIFB1Yk1lZF8zMDU0ODU0N2AKCmByIGFkZHRoaXNfaW5saW5lXzMwNTQ4NTQ3YAoKYHIgUE1JRF8zMDU0ODU0NyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNTQ4NTQ3YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNTQ4NTQ3YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA1NDg1NDdgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwNzEzMTI4LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDcxMzEyOCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDcxMzEyOCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDcxMzEyOCA8LSBwYXN0ZTAoUE1JRF8zMDcxMzEyOCRqb3VybmFsLCcgJywgUE1JRF8zMDcxMzEyOCR5ZWFyLCAnICcsIFBNSURfMzA3MTMxMjgkbW9udGgsJzsnLCBQTUlEXzMwNzEzMTI4JHZvbHVtZSwnKCcsIFBNSURfMzA3MTMxMjgkbnVtYmVyLCcpOicsIFBNSURfMzA3MTMxMjgkcGFnZXMpCgpQdWJNZWRfMzA3MTMxMjggPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDcxMzEyOCRlcHJpbnQpCgpkb2lfMzA3MTMxMjggPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDcxMzEyOCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDcxMzEyOCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDcxMzEyOCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNzEzMTI4IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNzEzMTI4JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDcxMzEyOCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNzEzMTI4JHRpdGxlICwgIiBQTUlEOiAzMDcxMzEyOCAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA3MTMxMjgkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDcxMzEyOGAqCgpgciBQdWJNZWRfMzA3MTMxMjhgCgpgciBhZGR0aGlzX2lubGluZV8zMDcxMzEyOGAKCmByIFBNSURfMzA3MTMxMjgkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDcxMzEyOGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDcxMzEyOGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNzEzMTI4YAoKPC9kZXRhaWxzPgoKLS0tCgoKLSAqKkNhbiB3ZSBjbGFzc2lmeSBhbXB1bGxhcnkgdHVtb3VycyBiZXR0ZXI/IENsaW5pY2FsLCBwYXRob2xvZ2ljYWwgYW5kIG1vbGVjdWxhciBmZWF0dXJlcy4gUmVzdWx0cyBvZiBhbiBBR0VPIHN0dWR5KioKCmh0dHBzOi8vd3d3Lm5hdHVyZS5jb20vYXJ0aWNsZXMvczQxNDE2LTAxOS0wNDE1LTgKCgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgojIyMjIFN0YWdpbmcKCkFtcHVsbGEgb2YgVmF0ZXIgVE5NIHN0YWdpbmcsIE1hcmdpbnMsIFN1cnZpdmFsCgpgYGB7ciBBbXB1bGxhIG9mIFZhdGVyIFROTSBzdGFnaW5nIE1hcmdpbnMgU3Vydml2YWwsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMzA3OTAxMTEsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNzkwMTExIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNzkwMTExJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNzkwMTExIDwtIHBhc3RlMChQTUlEXzMwNzkwMTExJGpvdXJuYWwsJyAnLCBQTUlEXzMwNzkwMTExJHllYXIsICcgJywgUE1JRF8zMDc5MDExMSRtb250aCwnOycsIFBNSURfMzA3OTAxMTEkdm9sdW1lLCcoJywgUE1JRF8zMDc5MDExMSRudW1iZXIsJyk6JywgUE1JRF8zMDc5MDExMSRwYWdlcykKClB1Yk1lZF8zMDc5MDExMSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNzkwMTExJGVwcmludCkKCmRvaV8zMDc5MDExMSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNzkwMTExJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNzkwMTExIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNzkwMTExJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA3OTAxMTEgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA3OTAxMTEkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNzkwMTExIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA3OTAxMTEkdGl0bGUgLCAiIFBNSUQ6IDMwNzkwMTExICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDc5MDExMSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNzkwMTExYCoKCmByIFB1Yk1lZF8zMDc5MDExMWAKCmByIGFkZHRoaXNfaW5saW5lXzMwNzkwMTExYAoKYHIgUE1JRF8zMDc5MDExMSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNzkwMTExYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNzkwMTExYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA3OTAxMTFgCgoKQWxzbyBTZWUgW1N0YWdpbmcgZm9yIEFtcHVsbGFyeSBDYXJjaW5vbWE6IElzIExlc3MgQWN0dWFsbHkgTW9yZT9dKGh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzMwNzg4NjI4KQoKCjwvZGV0YWlscz4KCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyMgTmV1cm9lbmRvY3JpbmUKCgotLS0KCiMjIyMgUGFuTkVUCgpQYW5ORVQsIFBhbmNyZWF0aWMgTmV1cm9lbmRvY3JpbmUgVHVtb3JzIGFuZCByZWxhdGVkIG5ldXJvZW5kb2NyaW5lIG5lb3BsYXNtcwoKYGBge3IgUyBQYW5ORVQgTmV1cm9lbmRvY3JpbmUsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKLS0tCgpgYGB7ciAzMDcwNDg1MSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA3MDQ4NTEgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA3MDQ4NTEnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA3MDQ4NTEgPC0gcGFzdGUwKFBNSURfMzA3MDQ4NTEkam91cm5hbCwnICcsIFBNSURfMzA3MDQ4NTEkeWVhciwgJyAnLCBQTUlEXzMwNzA0ODUxJG1vbnRoLCc7JywgUE1JRF8zMDcwNDg1MSR2b2x1bWUsJygnLCBQTUlEXzMwNzA0ODUxJG51bWJlciwnKTonLCBQTUlEXzMwNzA0ODUxJHBhZ2VzKQoKUHViTWVkXzMwNzA0ODUxIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA3MDQ4NTEkZXByaW50KQoKZG9pXzMwNzA0ODUxIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA3MDQ4NTEkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA3MDQ4NTEgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA3MDQ4NTEkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDcwNDg1MSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDcwNDg1MSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA3MDQ4NTEgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDcwNDg1MSR0aXRsZSAsICIgUE1JRDogMzA3MDQ4NTEgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNzA0ODUxJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA3MDQ4NTFgKgoKYHIgUHViTWVkXzMwNzA0ODUxYAoKYHIgYWRkdGhpc19pbmxpbmVfMzA3MDQ4NTFgCgpgciBQTUlEXzMwNzA0ODUxJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA3MDQ4NTFgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA3MDQ4NTFgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDcwNDg1MWAKCjwvZGV0YWlscz4KCgotLS0KCmBgYHtyIDMwODUwMjIwLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDg1MDIyMCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDg1MDIyMCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDg1MDIyMCA8LSBwYXN0ZTAoUE1JRF8zMDg1MDIyMCRqb3VybmFsLCcgJywgUE1JRF8zMDg1MDIyMCR5ZWFyLCAnICcsIFBNSURfMzA4NTAyMjAkbW9udGgsJzsnLCBQTUlEXzMwODUwMjIwJHZvbHVtZSwnKCcsIFBNSURfMzA4NTAyMjAkbnVtYmVyLCcpOicsIFBNSURfMzA4NTAyMjAkcGFnZXMpCgpQdWJNZWRfMzA4NTAyMjAgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDg1MDIyMCRlcHJpbnQpCgpkb2lfMzA4NTAyMjAgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDg1MDIyMCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDg1MDIyMCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDg1MDIyMCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwODUwMjIwIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwODUwMjIwJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDg1MDIyMCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwODUwMjIwJHRpdGxlICwgIiBQTUlEOiAzMDg1MDIyMCAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA4NTAyMjAkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDg1MDIyMGAqCgpgciBQdWJNZWRfMzA4NTAyMjBgCgpgciBhZGR0aGlzX2lubGluZV8zMDg1MDIyMGAKCmByIFBNSURfMzA4NTAyMjAkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDg1MDIyMGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDg1MDIyMGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwODUwMjIwYAoKPC9kZXRhaWxzPgoKLS0tCgpgYGB7ciAzMDkxMzA4OSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA5MTMwODkgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA5MTMwODknLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA5MTMwODkgPC0gcGFzdGUwKFBNSURfMzA5MTMwODkkam91cm5hbCwnICcsIFBNSURfMzA5MTMwODkkeWVhciwgJyAnLCBQTUlEXzMwOTEzMDg5JG1vbnRoLCc7JywgUE1JRF8zMDkxMzA4OSR2b2x1bWUsJygnLCBQTUlEXzMwOTEzMDg5JG51bWJlciwnKTonLCBQTUlEXzMwOTEzMDg5JHBhZ2VzKQoKUHViTWVkXzMwOTEzMDg5IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA5MTMwODkkZXByaW50KQoKZG9pXzMwOTEzMDg5IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA5MTMwODkkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA5MTMwODkgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA5MTMwODkkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDkxMzA4OSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDkxMzA4OSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA5MTMwODkgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDkxMzA4OSR0aXRsZSAsICIgUE1JRDogMzA5MTMwODkgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwOTEzMDg5JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA5MTMwODlgKgoKYHIgUHViTWVkXzMwOTEzMDg5YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA5MTMwODlgCgpgciBQTUlEXzMwOTEzMDg5JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA5MTMwODlgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA5MTMwODlgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDkxMzA4OWAKCjwvZGV0YWlscz4KCi0tLQoKCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKCgojIyMjIE1pY3JvZW52aXJvbm1lbnQgCgpUdW1vciBTdHJvbWEgSW50ZXJhY3Rpb25zLCBNaWNyb2Vudmlyb25tZW50LCBJbmZsYW1tYXRvcnkgUmVzcG9uc2UKCmBgYHtyIFMgVHVtb3IgU3Ryb21hIEludGVyYWN0aW9ucyBNaWNyb2Vudmlyb25tZW50IEluZmxhbW1hdG9yeSBSZXNwb25zZSwgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKCi0tLQoKYGBge3IgMzAxNTMyMjAsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMTUzMjIwIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMTUzMjIwJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMTUzMjIwIDwtIHBhc3RlMChQTUlEXzMwMTUzMjIwJGpvdXJuYWwsJyAnLCBQTUlEXzMwMTUzMjIwJHllYXIsICcgJywgUE1JRF8zMDE1MzIyMCRtb250aCwnOycsIFBNSURfMzAxNTMyMjAkdm9sdW1lLCcoJywgUE1JRF8zMDE1MzIyMCRudW1iZXIsJyk6JywgUE1JRF8zMDE1MzIyMCRwYWdlcykKClB1Yk1lZF8zMDE1MzIyMCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMTUzMjIwJGVwcmludCkKCmRvaV8zMDE1MzIyMCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMTUzMjIwJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMTUzMjIwIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMTUzMjIwJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAxNTMyMjAgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAxNTMyMjAkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMTUzMjIwIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAxNTMyMjAkdGl0bGUgLCAiIFBNSUQ6IDMwMTUzMjIwICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDE1MzIyMCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMTUzMjIwYCoKCmByIFB1Yk1lZF8zMDE1MzIyMGAKCmByIGFkZHRoaXNfaW5saW5lXzMwMTUzMjIwYAoKYHIgUE1JRF8zMDE1MzIyMCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMTUzMjIwYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMTUzMjIwYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAxNTMyMjBgCgo8L2RldGFpbHM+CgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKIyMjIyBTdGFnaW5nCgpQYW5ORVQgVE5NIHN0YWdpbmcsIE1hcmdpbnMsIFN1cnZpdmFsCgpgYGB7ciBQYW5ORVQgVE5NIHN0YWdpbmcgTWFyZ2lucyBTdXJ2aXZhbCwgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKLS0tCgpgYGB7ciAzMDM0MDU2OSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAzNDA1NjkgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAzNDA1NjknLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAzNDA1NjkgPC0gcGFzdGUwKFBNSURfMzAzNDA1Njkkam91cm5hbCwnICcsIFBNSURfMzAzNDA1NjkkeWVhciwgJyAnLCBQTUlEXzMwMzQwNTY5JG1vbnRoLCc7JywgUE1JRF8zMDM0MDU2OSR2b2x1bWUsJygnLCBQTUlEXzMwMzQwNTY5JG51bWJlciwnKTonLCBQTUlEXzMwMzQwNTY5JHBhZ2VzKQoKUHViTWVkXzMwMzQwNTY5IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAzNDA1NjkkZXByaW50KQoKZG9pXzMwMzQwNTY5IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAzNDA1NjkkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAzNDA1NjkgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAzNDA1NjkkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDM0MDU2OSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDM0MDU2OSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAzNDA1NjkgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDM0MDU2OSR0aXRsZSAsICIgUE1JRDogMzAzNDA1NjkgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMzQwNTY5JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAzNDA1NjlgKgoKYHIgUHViTWVkXzMwMzQwNTY5YAoKYHIgYWRkdGhpc19pbmxpbmVfMzAzNDA1NjlgCgpgciBQTUlEXzMwMzQwNTY5JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAzNDA1NjlgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAzNDA1NjlgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDM0MDU2OWAKCjwvZGV0YWlscz4KCi0tLQoKYGBge3IgMzA4NzIxNzUsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwODcyMTc1IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwODcyMTc1JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwODcyMTc1IDwtIHBhc3RlMChQTUlEXzMwODcyMTc1JGpvdXJuYWwsJyAnLCBQTUlEXzMwODcyMTc1JHllYXIsICcgJywgUE1JRF8zMDg3MjE3NSRtb250aCwnOycsIFBNSURfMzA4NzIxNzUkdm9sdW1lLCcoJywgUE1JRF8zMDg3MjE3NSRudW1iZXIsJyk6JywgUE1JRF8zMDg3MjE3NSRwYWdlcykKClB1Yk1lZF8zMDg3MjE3NSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwODcyMTc1JGVwcmludCkKCmRvaV8zMDg3MjE3NSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwODcyMTc1JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwODcyMTc1IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwODcyMTc1JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA4NzIxNzUgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA4NzIxNzUkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwODcyMTc1IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA4NzIxNzUkdGl0bGUgLCAiIFBNSUQ6IDMwODcyMTc1ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDg3MjE3NSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwODcyMTc1YCoKCmByIFB1Yk1lZF8zMDg3MjE3NWAKCmByIGFkZHRoaXNfaW5saW5lXzMwODcyMTc1YAoKYHIgUE1JRF8zMDg3MjE3NSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwODcyMTc1YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwODcyMTc1YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA4NzIxNzVgCgo8L2RldGFpbHM+CgotLS0KCgoKCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKCgoKCgoKIyMgQ3l0b3BhdGhvbG9neSB7LnRhYnNldH0KCgotLS0KCiMjIyBQYW5jcmVhcwoKYGBge3IgQyBQYW5jcmVhcywgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKLS0tCgoKLS0tCgoKCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCgoKCiMjIyBCaWxlIER1Y3RzCgpgYGB7ciBDIEJpbGUgRHVjdHMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMzA3MzA2MDgsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNzMwNjA4IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNzMwNjA4JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNzMwNjA4IDwtIHBhc3RlMChQTUlEXzMwNzMwNjA4JGpvdXJuYWwsJyAnLCBQTUlEXzMwNzMwNjA4JHllYXIsICcgJywgUE1JRF8zMDczMDYwOCRtb250aCwnOycsIFBNSURfMzA3MzA2MDgkdm9sdW1lLCcoJywgUE1JRF8zMDczMDYwOCRudW1iZXIsJyk6JywgUE1JRF8zMDczMDYwOCRwYWdlcykKClB1Yk1lZF8zMDczMDYwOCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNzMwNjA4JGVwcmludCkKCmRvaV8zMDczMDYwOCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNzMwNjA4JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNzMwNjA4IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNzMwNjA4JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA3MzA2MDggPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA3MzA2MDgkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNzMwNjA4IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA3MzA2MDgkdGl0bGUgLCAiIFBNSUQ6IDMwNzMwNjA4ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDczMDYwOCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNzMwNjA4YCoKCmByIFB1Yk1lZF8zMDczMDYwOGAKCmByIGFkZHRoaXNfaW5saW5lXzMwNzMwNjA4YAoKYHIgUE1JRF8zMDczMDYwOCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNzMwNjA4YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNzMwNjA4YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA3MzA2MDhgCgo8L2RldGFpbHM+CgotLS0KCgoKCgoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCiMjIyBHYWxsYmxhZGRlcgoKYGBge3IgQyBHYWxsYmxhZGRlciwgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKCgoKCgotLS0KCmBgYHtyIDMwODIwMjMxLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDgyMDIzMSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDgyMDIzMScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDgyMDIzMSA8LSBwYXN0ZTAoUE1JRF8zMDgyMDIzMSRqb3VybmFsLCcgJywgUE1JRF8zMDgyMDIzMSR5ZWFyLCAnICcsIFBNSURfMzA4MjAyMzEkbW9udGgsJzsnLCBQTUlEXzMwODIwMjMxJHZvbHVtZSwnKCcsIFBNSURfMzA4MjAyMzEkbnVtYmVyLCcpOicsIFBNSURfMzA4MjAyMzEkcGFnZXMpCgpQdWJNZWRfMzA4MjAyMzEgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDgyMDIzMSRlcHJpbnQpCgpkb2lfMzA4MjAyMzEgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDgyMDIzMSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDgyMDIzMSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDgyMDIzMSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwODIwMjMxIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwODIwMjMxJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDgyMDIzMSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwODIwMjMxJHRpdGxlICwgIiBQTUlEOiAzMDgyMDIzMSAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA4MjAyMzEkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDgyMDIzMWAqCgpgciBQdWJNZWRfMzA4MjAyMzFgCgpgciBhZGR0aGlzX2lubGluZV8zMDgyMDIzMWAKCmByIFBNSURfMzA4MjAyMzEkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDgyMDIzMWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDgyMDIzMWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwODIwMjMxYAoKPC9kZXRhaWxzPgoKLS0tCgoKCgoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCiMjIyBOZXVyb2VuZG9jcmluZQoKYGBge3IgQyBOZXVyb2VuZG9jcmluZSwgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKLS0tCgoKCgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgojIyBNb2xlY3VsYXIgUGF0aG9sb2d5IHsudGFic2V0fQoKLS0tCgoKIyMjIFBhbmNyZWFzCgpgYGB7ciBNIFBhbmNyZWFzLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCi0tLQoKYGBge3IgMzA4NDY0MTQsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwODQ2NDE0IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwODQ2NDE0JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwODQ2NDE0IDwtIHBhc3RlMChQTUlEXzMwODQ2NDE0JGpvdXJuYWwsJyAnLCBQTUlEXzMwODQ2NDE0JHllYXIsICcgJywgUE1JRF8zMDg0NjQxNCRtb250aCwnOycsIFBNSURfMzA4NDY0MTQkdm9sdW1lLCcoJywgUE1JRF8zMDg0NjQxNCRudW1iZXIsJyk6JywgUE1JRF8zMDg0NjQxNCRwYWdlcykKClB1Yk1lZF8zMDg0NjQxNCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwODQ2NDE0JGVwcmludCkKCmRvaV8zMDg0NjQxNCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwODQ2NDE0JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwODQ2NDE0IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwODQ2NDE0JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA4NDY0MTQgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA4NDY0MTQkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwODQ2NDE0IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA4NDY0MTQkdGl0bGUgLCAiIFBNSUQ6IDMwODQ2NDE0ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDg0NjQxNCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwODQ2NDE0YCoKCmByIFB1Yk1lZF8zMDg0NjQxNGAKCmByIGFkZHRoaXNfaW5saW5lXzMwODQ2NDE0YAoKYHIgUE1JRF8zMDg0NjQxNCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwODQ2NDE0YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwODQ2NDE0YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA4NDY0MTRgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwODM2MDk0LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDgzNjA5NCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDgzNjA5NCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDgzNjA5NCA8LSBwYXN0ZTAoUE1JRF8zMDgzNjA5NCRqb3VybmFsLCcgJywgUE1JRF8zMDgzNjA5NCR5ZWFyLCAnICcsIFBNSURfMzA4MzYwOTQkbW9udGgsJzsnLCBQTUlEXzMwODM2MDk0JHZvbHVtZSwnKCcsIFBNSURfMzA4MzYwOTQkbnVtYmVyLCcpOicsIFBNSURfMzA4MzYwOTQkcGFnZXMpCgpQdWJNZWRfMzA4MzYwOTQgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDgzNjA5NCRlcHJpbnQpCgpkb2lfMzA4MzYwOTQgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDgzNjA5NCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDgzNjA5NCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDgzNjA5NCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwODM2MDk0IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwODM2MDk0JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDgzNjA5NCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwODM2MDk0JHRpdGxlICwgIiBQTUlEOiAzMDgzNjA5NCAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA4MzYwOTQkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDgzNjA5NGAqCgpgciBQdWJNZWRfMzA4MzYwOTRgCgpgciBhZGR0aGlzX2lubGluZV8zMDgzNjA5NGAKCmByIFBNSURfMzA4MzYwOTQkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDgzNjA5NGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDgzNjA5NGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwODM2MDk0YAoKPC9kZXRhaWxzPgoKLS0tCgpgYGB7ciAzMDgyNjI1OSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA4MjYyNTkgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA4MjYyNTknLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA4MjYyNTkgPC0gcGFzdGUwKFBNSURfMzA4MjYyNTkkam91cm5hbCwnICcsIFBNSURfMzA4MjYyNTkkeWVhciwgJyAnLCBQTUlEXzMwODI2MjU5JG1vbnRoLCc7JywgUE1JRF8zMDgyNjI1OSR2b2x1bWUsJygnLCBQTUlEXzMwODI2MjU5JG51bWJlciwnKTonLCBQTUlEXzMwODI2MjU5JHBhZ2VzKQoKUHViTWVkXzMwODI2MjU5IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA4MjYyNTkkZXByaW50KQoKZG9pXzMwODI2MjU5IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA4MjYyNTkkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA4MjYyNTkgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA4MjYyNTkkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDgyNjI1OSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDgyNjI1OSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA4MjYyNTkgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDgyNjI1OSR0aXRsZSAsICIgUE1JRDogMzA4MjYyNTkgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwODI2MjU5JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA4MjYyNTlgKgoKYHIgUHViTWVkXzMwODI2MjU5YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA4MjYyNTlgCgpgciBQTUlEXzMwODI2MjU5JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA4MjYyNTlgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA4MjYyNTlgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDgyNjI1OWAKCjwvZGV0YWlscz4KCi0tLQoKYGBge3IgMzA3Mjg0NjQsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNzI4NDY0IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNzI4NDY0JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNzI4NDY0IDwtIHBhc3RlMChQTUlEXzMwNzI4NDY0JGpvdXJuYWwsJyAnLCBQTUlEXzMwNzI4NDY0JHllYXIsICcgJywgUE1JRF8zMDcyODQ2NCRtb250aCwnOycsIFBNSURfMzA3Mjg0NjQkdm9sdW1lLCcoJywgUE1JRF8zMDcyODQ2NCRudW1iZXIsJyk6JywgUE1JRF8zMDcyODQ2NCRwYWdlcykKClB1Yk1lZF8zMDcyODQ2NCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNzI4NDY0JGVwcmludCkKCmRvaV8zMDcyODQ2NCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNzI4NDY0JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNzI4NDY0IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNzI4NDY0JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA3Mjg0NjQgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA3Mjg0NjQkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNzI4NDY0IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA3Mjg0NjQkdGl0bGUgLCAiIFBNSUQ6IDMwNzI4NDY0ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDcyODQ2NCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNzI4NDY0YCoKCmByIFB1Yk1lZF8zMDcyODQ2NGAKCmByIGFkZHRoaXNfaW5saW5lXzMwNzI4NDY0YAoKYHIgUE1JRF8zMDcyODQ2NCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNzI4NDY0YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNzI4NDY0YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA3Mjg0NjRgCgo8L2RldGFpbHM+CgotLS0KCgoKCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCiMjIyMgU1BOCgpTb2xpZCBQc2V1ZG9wYXBpbGxhcnkgTmVvcGxhc20KCmBgYHtyIFMgU1BOIFNvbGlkIFBzZXVkb3BhcGlsbGFyeSBOZW9wbGFzbSwgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKCi0tLQoKYGBge3IgMzA4MTE3NDcsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwODExNzQ3IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwODExNzQ3JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwODExNzQ3IDwtIHBhc3RlMChQTUlEXzMwODExNzQ3JGpvdXJuYWwsJyAnLCBQTUlEXzMwODExNzQ3JHllYXIsICcgJywgUE1JRF8zMDgxMTc0NyRtb250aCwnOycsIFBNSURfMzA4MTE3NDckdm9sdW1lLCcoJywgUE1JRF8zMDgxMTc0NyRudW1iZXIsJyk6JywgUE1JRF8zMDgxMTc0NyRwYWdlcykKClB1Yk1lZF8zMDgxMTc0NyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwODExNzQ3JGVwcmludCkKCmRvaV8zMDgxMTc0NyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwODExNzQ3JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwODExNzQ3IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwODExNzQ3JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA4MTE3NDcgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA4MTE3NDckZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwODExNzQ3IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA4MTE3NDckdGl0bGUgLCAiIFBNSUQ6IDMwODExNzQ3ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDgxMTc0NyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwODExNzQ3YCoKCmByIFB1Yk1lZF8zMDgxMTc0N2AKCmByIGFkZHRoaXNfaW5saW5lXzMwODExNzQ3YAoKYHIgUE1JRF8zMDgxMTc0NyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwODExNzQ3YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwODExNzQ3YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA4MTE3NDdgCgo8L2RldGFpbHM+CgotLS0KCgoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyMjIFBhbmNyZWF0aXRpcyAmIE90aGVyIERpc2Vhc2VzCgpNb2xlY3VsYXIgU3R1ZGllcyBvbiBQYW5jcmVhdGl0aXMgJiBPdGhlciBEaXNlYXNlcwoKYGBge3IgTW9sZWN1bGFyIFN0dWRpZXMgb24gUGFuY3JlYXRpdGlzICYgT3RoZXIgRGlzZWFzZXMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMzA3MDUwNTAsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNzA1MDUwIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNzA1MDUwJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNzA1MDUwIDwtIHBhc3RlMChQTUlEXzMwNzA1MDUwJGpvdXJuYWwsJyAnLCBQTUlEXzMwNzA1MDUwJHllYXIsICcgJywgUE1JRF8zMDcwNTA1MCRtb250aCwnOycsIFBNSURfMzA3MDUwNTAkdm9sdW1lLCcoJywgUE1JRF8zMDcwNTA1MCRudW1iZXIsJyk6JywgUE1JRF8zMDcwNTA1MCRwYWdlcykKClB1Yk1lZF8zMDcwNTA1MCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNzA1MDUwJGVwcmludCkKCmRvaV8zMDcwNTA1MCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNzA1MDUwJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNzA1MDUwIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNzA1MDUwJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA3MDUwNTAgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA3MDUwNTAkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNzA1MDUwIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA3MDUwNTAkdGl0bGUgLCAiIFBNSUQ6IDMwNzA1MDUwICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDcwNTA1MCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNzA1MDUwYCoKCmByIFB1Yk1lZF8zMDcwNTA1MGAKCmByIGFkZHRoaXNfaW5saW5lXzMwNzA1MDUwYAoKYHIgUE1JRF8zMDcwNTA1MCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNzA1MDUwYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNzA1MDUwYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA3MDUwNTBgCgo8L2RldGFpbHM+CgotLS0KCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCiMjIyMgTW9sZWN1bGFyIFJlc2VhcmNoIG9uIE1pY3JvZW52aXJvbm1lbnQgCgpUdW1vciBTdHJvbWEgSW50ZXJhY3Rpb25zLCBNaWNyb2Vudmlyb25tZW50LCBJbmZsYW1tYXRvcnkgUmVzcG9uc2UsIE1pY3JvYmlvbWUKCmBgYHtyIE1vbGVjdWxhciBUdW1vciBTdHJvbWEgSW50ZXJhY3Rpb25zIE1pY3JvZW52aXJvbm1lbnQgSW5mbGFtbWF0b3J5IFJlc3BvbnNlIE1pY3JvYmlvbWUsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMzA4MDAyMjQsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwODAwMjI0IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwODAwMjI0JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwODAwMjI0IDwtIHBhc3RlMChQTUlEXzMwODAwMjI0JGpvdXJuYWwsJyAnLCBQTUlEXzMwODAwMjI0JHllYXIsICcgJywgUE1JRF8zMDgwMDIyNCRtb250aCwnOycsIFBNSURfMzA4MDAyMjQkdm9sdW1lLCcoJywgUE1JRF8zMDgwMDIyNCRudW1iZXIsJyk6JywgUE1JRF8zMDgwMDIyNCRwYWdlcykKClB1Yk1lZF8zMDgwMDIyNCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwODAwMjI0JGVwcmludCkKCmRvaV8zMDgwMDIyNCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwODAwMjI0JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwODAwMjI0IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwODAwMjI0JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA4MDAyMjQgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA4MDAyMjQkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwODAwMjI0IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA4MDAyMjQkdGl0bGUgLCAiIFBNSUQ6IDMwODAwMjI0ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDgwMDIyNCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwODAwMjI0YCoKCmByIFB1Yk1lZF8zMDgwMDIyNGAKCmByIGFkZHRoaXNfaW5saW5lXzMwODAwMjI0YAoKYHIgUE1JRF8zMDgwMDIyNCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwODAwMjI0YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwODAwMjI0YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA4MDAyMjRgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwNzk5Mjc4LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDc5OTI3OCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDc5OTI3OCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDc5OTI3OCA8LSBwYXN0ZTAoUE1JRF8zMDc5OTI3OCRqb3VybmFsLCcgJywgUE1JRF8zMDc5OTI3OCR5ZWFyLCAnICcsIFBNSURfMzA3OTkyNzgkbW9udGgsJzsnLCBQTUlEXzMwNzk5Mjc4JHZvbHVtZSwnKCcsIFBNSURfMzA3OTkyNzgkbnVtYmVyLCcpOicsIFBNSURfMzA3OTkyNzgkcGFnZXMpCgpQdWJNZWRfMzA3OTkyNzggPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDc5OTI3OCRlcHJpbnQpCgpkb2lfMzA3OTkyNzggPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDc5OTI3OCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDc5OTI3OCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDc5OTI3OCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNzk5Mjc4IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNzk5Mjc4JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDc5OTI3OCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNzk5Mjc4JHRpdGxlICwgIiBQTUlEOiAzMDc5OTI3OCAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA3OTkyNzgkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDc5OTI3OGAqCgpgciBQdWJNZWRfMzA3OTkyNzhgCgpgciBhZGR0aGlzX2lubGluZV8zMDc5OTI3OGAKCmByIFBNSURfMzA3OTkyNzgkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDc5OTI3OGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDc5OTI3OGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNzk5Mjc4YAoKPC9kZXRhaWxzPgoKLS0tCgpgYGB7ciAzMDcxNjMyNiwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA3MTYzMjYgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA3MTYzMjYnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA3MTYzMjYgPC0gcGFzdGUwKFBNSURfMzA3MTYzMjYkam91cm5hbCwnICcsIFBNSURfMzA3MTYzMjYkeWVhciwgJyAnLCBQTUlEXzMwNzE2MzI2JG1vbnRoLCc7JywgUE1JRF8zMDcxNjMyNiR2b2x1bWUsJygnLCBQTUlEXzMwNzE2MzI2JG51bWJlciwnKTonLCBQTUlEXzMwNzE2MzI2JHBhZ2VzKQoKUHViTWVkXzMwNzE2MzI2IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA3MTYzMjYkZXByaW50KQoKZG9pXzMwNzE2MzI2IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA3MTYzMjYkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA3MTYzMjYgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA3MTYzMjYkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDcxNjMyNiA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDcxNjMyNiRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA3MTYzMjYgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDcxNjMyNiR0aXRsZSAsICIgUE1JRDogMzA3MTYzMjYgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNzE2MzI2JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA3MTYzMjZgKgoKYHIgUHViTWVkXzMwNzE2MzI2YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA3MTYzMjZgCgpgciBQTUlEXzMwNzE2MzI2JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA3MTYzMjZgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA3MTYzMjZgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDcxNjMyNmAKCjwvZGV0YWlscz4KCi0tLQoKYGBge3IgMzA1Nzc3NjcsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNTc3NzY3IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNTc3NzY3JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNTc3NzY3IDwtIHBhc3RlMChQTUlEXzMwNTc3NzY3JGpvdXJuYWwsJyAnLCBQTUlEXzMwNTc3NzY3JHllYXIsICcgJywgUE1JRF8zMDU3Nzc2NyRtb250aCwnOycsIFBNSURfMzA1Nzc3Njckdm9sdW1lLCcoJywgUE1JRF8zMDU3Nzc2NyRudW1iZXIsJyk6JywgUE1JRF8zMDU3Nzc2NyRwYWdlcykKClB1Yk1lZF8zMDU3Nzc2NyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNTc3NzY3JGVwcmludCkKCmRvaV8zMDU3Nzc2NyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNTc3NzY3JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNTc3NzY3IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNTc3NzY3JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA1Nzc3NjcgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA1Nzc3NjckZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNTc3NzY3IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA1Nzc3NjckdGl0bGUgLCAiIFBNSUQ6IDMwNTc3NzY3ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDU3Nzc2NyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNTc3NzY3YCoKCmByIFB1Yk1lZF8zMDU3Nzc2N2AKCmByIGFkZHRoaXNfaW5saW5lXzMwNTc3NzY3YAoKYHIgUE1JRF8zMDU3Nzc2NyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNTc3NzY3YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNTc3NzY3YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA1Nzc3NjdgCgo8L2RldGFpbHM+CgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKIyMjIyBQcmVuZW9wbGFzdGljIGFuZCBQcmVpbnZhc2l2ZSBMZXNpb25zIAoKTW9sZWN1bGFyIFBhdGhvbG9neSBQcmVuZW9wbGFzdGljIGFuZCBQcmVpbnZhc2l2ZSBMZXNpb25zLCBQYW5JTiwgSVBNTiwgTUNOLCBJQ1BOCgpgYGB7ciBNb2xlY3VsYXIgUGFuY3JlYXMgUHJlbmVvcGxhc3RpYyBhbmQgUHJlaW52YXNpdmUgTGVzaW9ucyBJUE1OLCBNQ04sIElUUE4sICBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCmBgYHtyIDMwNzE2MzI0LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDcxNjMyNCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDcxNjMyNCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDcxNjMyNCA8LSBwYXN0ZTAoUE1JRF8zMDcxNjMyNCRqb3VybmFsLCcgJywgUE1JRF8zMDcxNjMyNCR5ZWFyLCAnICcsIFBNSURfMzA3MTYzMjQkbW9udGgsJzsnLCBQTUlEXzMwNzE2MzI0JHZvbHVtZSwnKCcsIFBNSURfMzA3MTYzMjQkbnVtYmVyLCcpOicsIFBNSURfMzA3MTYzMjQkcGFnZXMpCgpQdWJNZWRfMzA3MTYzMjQgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDcxNjMyNCRlcHJpbnQpCgpkb2lfMzA3MTYzMjQgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDcxNjMyNCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDcxNjMyNCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDcxNjMyNCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNzE2MzI0IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNzE2MzI0JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDcxNjMyNCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNzE2MzI0JHRpdGxlICwgIiBQTUlEOiAzMDcxNjMyNCAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA3MTYzMjQkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDcxNjMyNGAqCgpgciBQdWJNZWRfMzA3MTYzMjRgCgpgciBhZGR0aGlzX2lubGluZV8zMDcxNjMyNGAKCmByIFBNSURfMzA3MTYzMjQkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDcxNjMyNGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDcxNjMyNGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNzE2MzI0YAoKPC9kZXRhaWxzPgoKLS0tCgoKCgoKCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKIyMjIEJpbGUgRHVjdHMKCmBgYHtyIE0gQmlsZSBEdWN0cywgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKLS0tCgoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCgojIyMgR2FsbGJsYWRkZXIKCmBgYHtyIE0gR2FsbGJsYWRkZXIsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKCgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgojIyMgQW1wdWxsYSBvZiBWYXRlcgoKYGBge3IgTSBBbXB1bGxhIG9mIFZhdGVyLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKIyMjIE5ldXJvZW5kb2NyaW5lCgoKYGBge3IgTSBOZXVyb2VuZG9jcmluZSwgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgotLS0KCgoKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCiMjIE90aGVycyB7LnRhYnNldH0KCi0tLQoKIyMjIENhc2UgUmVwb3J0cwoKLS0tCgojIyMjIFBhbmNyZWFzCgoKLS0tCgpgYGB7ciAzMDcxOTgwMSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA3MTk4MDEgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA3MTk4MDEnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA3MTk4MDEgPC0gcGFzdGUwKFBNSURfMzA3MTk4MDEkam91cm5hbCwnICcsIFBNSURfMzA3MTk4MDEkeWVhciwgJyAnLCBQTUlEXzMwNzE5ODAxJG1vbnRoLCc7JywgUE1JRF8zMDcxOTgwMSR2b2x1bWUsJygnLCBQTUlEXzMwNzE5ODAxJG51bWJlciwnKTonLCBQTUlEXzMwNzE5ODAxJHBhZ2VzKQoKUHViTWVkXzMwNzE5ODAxIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA3MTk4MDEkZXByaW50KQoKZG9pXzMwNzE5ODAxIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA3MTk4MDEkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA3MTk4MDEgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA3MTk4MDEkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDcxOTgwMSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDcxOTgwMSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA3MTk4MDEgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDcxOTgwMSR0aXRsZSAsICIgUE1JRDogMzA3MTk4MDEgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNzE5ODAxJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA3MTk4MDFgKgoKYHIgUHViTWVkXzMwNzE5ODAxYAoKYHIgYWRkdGhpc19pbmxpbmVfMzA3MTk4MDFgCgpgciBQTUlEXzMwNzE5ODAxJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA3MTk4MDFgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA3MTk4MDFgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDcxOTgwMWAKCjwvZGV0YWlscz4KCi0tLQoKLSAqKlBhbmNyZWF0aWMgY2FuY2VyIOKAmG1pc21hdGNo4oCZIGluIEx5bmNoIHN5bmRyb21lKioKCmh0dHBzOi8vYm1qb3Blbmdhc3Ryby5ibWouY29tL2NvbnRlbnQvNi8xL2UwMDAyNzQKCi0tLQoKIyMjIyBCaWxlIER1Y3RzCgotLS0KCiMjIyMgR2FsbGJsYWRkZXIKCgotLS0KCmBgYHtyIDMwNDg4ODUxLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDQ4ODg1MSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDQ4ODg1MScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDQ4ODg1MSA8LSBwYXN0ZTAoUE1JRF8zMDQ4ODg1MSRqb3VybmFsLCcgJywgUE1JRF8zMDQ4ODg1MSR5ZWFyLCAnICcsIFBNSURfMzA0ODg4NTEkbW9udGgsJzsnLCBQTUlEXzMwNDg4ODUxJHZvbHVtZSwnKCcsIFBNSURfMzA0ODg4NTEkbnVtYmVyLCcpOicsIFBNSURfMzA0ODg4NTEkcGFnZXMpCgpQdWJNZWRfMzA0ODg4NTEgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDQ4ODg1MSRlcHJpbnQpCgpkb2lfMzA0ODg4NTEgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDQ4ODg1MSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDQ4ODg1MSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDQ4ODg1MSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNDg4ODUxIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNDg4ODUxJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDQ4ODg1MSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNDg4ODUxJHRpdGxlICwgIiBQTUlEOiAzMDQ4ODg1MSAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA0ODg4NTEkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDQ4ODg1MWAqCgpgciBQdWJNZWRfMzA0ODg4NTFgCgpgciBhZGR0aGlzX2lubGluZV8zMDQ4ODg1MWAKCmByIFBNSURfMzA0ODg4NTEkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDQ4ODg1MWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDQ4ODg1MWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNDg4ODUxYAoKPC9kZXRhaWxzPgoKLS0tCgotICoqTWl4ZWQgbmV1cm9lbmRvY3JpbmUtbm9uLW5ldXJvZW5kb2NyaW5lIGNhcmNpbm9tYSBvZiBnYWxsYmxhZGRlcjogY2FzZSByZXBvcnQqKgoKaHR0cHM6Ly93anNvLmJpb21lZGNlbnRyYWwuY29tL2FydGljbGVzLzEwLjExODYvczEyOTU3LTAxOS0xNTk4LTQKCgotLS0KCiMjIyMgQW1wdWxsYSBvZiBWYXRlcgoKLS0tCgpBZGVub3NxdWFtb3VzIGNhcmNpbm9tYSBvZiB0aGUgcGFwaWxsYSBvZiBWYXRlcjogQSBwaGVub3R5cGljIGhldGVyb2dlbmVpdHkgY2hhcmFjdGVyaXplZCBieSBhIGNvbW1vbiBtb2xlY3VsYXIgbGFuZHNjYXBlLgoKaHR0cHM6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wdWJtZWQvMzA0MTc5NTYKCi0tLQoKCiMjIyMgTmV1cm9lbmRvY3JpbmUKCgotLS0KCi0gKipLaTY3IHF1YW50aXRhdGl2ZSBpbnRlcnByZXRhdGlvbjogSW5zaWdodHMgdXNpbmcgaW1hZ2UgYW5hbHlzaXMqKgoKaHR0cDovL3d3dy5qcGF0aGluZm9ybWF0aWNzLm9yZy9hcnRpY2xlLmFzcD9pc3NuPTIxNTMtMzUzOTt5ZWFyPTIwMTk7dm9sdW1lPTEwO2lzc3VlPTE7c3BhZ2U9ODtlcGFnZT04O2F1bGFzdD1Wb2x5bnNrYXlhCgoKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCiMjIyBNb2xlY3VsYXIgJiBFeHBlcmltZW50YWwgU3R1ZGllcwoKCi0tLQoKYGBge3IgMzA3MTg2NzgsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNzE4Njc4IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNzE4Njc4JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNzE4Njc4IDwtIHBhc3RlMChQTUlEXzMwNzE4Njc4JGpvdXJuYWwsJyAnLCBQTUlEXzMwNzE4Njc4JHllYXIsICcgJywgUE1JRF8zMDcxODY3OCRtb250aCwnOycsIFBNSURfMzA3MTg2Nzgkdm9sdW1lLCcoJywgUE1JRF8zMDcxODY3OCRudW1iZXIsJyk6JywgUE1JRF8zMDcxODY3OCRwYWdlcykKClB1Yk1lZF8zMDcxODY3OCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNzE4Njc4JGVwcmludCkKCmRvaV8zMDcxODY3OCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNzE4Njc4JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNzE4Njc4IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNzE4Njc4JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA3MTg2NzggPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA3MTg2NzgkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNzE4Njc4IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA3MTg2NzgkdGl0bGUgLCAiIFBNSUQ6IDMwNzE4Njc4ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDcxODY3OCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNzE4Njc4YCoKCmByIFB1Yk1lZF8zMDcxODY3OGAKCmByIGFkZHRoaXNfaW5saW5lXzMwNzE4Njc4YAoKYHIgUE1JRF8zMDcxODY3OCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNzE4Njc4YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNzE4Njc4YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA3MTg2NzhgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwNzEyNDQ2LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDcxMjQ0NiA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDcxMjQ0NicsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDcxMjQ0NiA8LSBwYXN0ZTAoUE1JRF8zMDcxMjQ0NiRqb3VybmFsLCcgJywgUE1JRF8zMDcxMjQ0NiR5ZWFyLCAnICcsIFBNSURfMzA3MTI0NDYkbW9udGgsJzsnLCBQTUlEXzMwNzEyNDQ2JHZvbHVtZSwnKCcsIFBNSURfMzA3MTI0NDYkbnVtYmVyLCcpOicsIFBNSURfMzA3MTI0NDYkcGFnZXMpCgpQdWJNZWRfMzA3MTI0NDYgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDcxMjQ0NiRlcHJpbnQpCgpkb2lfMzA3MTI0NDYgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDcxMjQ0NiRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDcxMjQ0NiA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDcxMjQ0NiRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNzEyNDQ2IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNzEyNDQ2JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDcxMjQ0NiA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNzEyNDQ2JHRpdGxlICwgIiBQTUlEOiAzMDcxMjQ0NiAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA3MTI0NDYkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDcxMjQ0NmAqCgpgciBQdWJNZWRfMzA3MTI0NDZgCgpgciBhZGR0aGlzX2lubGluZV8zMDcxMjQ0NmAKCmByIFBNSURfMzA3MTI0NDYkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDcxMjQ0NmAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDcxMjQ0NmAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNzEyNDQ2YAoKPC9kZXRhaWxzPgoKCi0tLQoKYGBge3IgMzA1NTg2NjUsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNTU4NjY1IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNTU4NjY1JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNTU4NjY1IDwtIHBhc3RlMChQTUlEXzMwNTU4NjY1JGpvdXJuYWwsJyAnLCBQTUlEXzMwNTU4NjY1JHllYXIsICcgJywgUE1JRF8zMDU1ODY2NSRtb250aCwnOycsIFBNSURfMzA1NTg2NjUkdm9sdW1lLCcoJywgUE1JRF8zMDU1ODY2NSRudW1iZXIsJyk6JywgUE1JRF8zMDU1ODY2NSRwYWdlcykKClB1Yk1lZF8zMDU1ODY2NSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNTU4NjY1JGVwcmludCkKCmRvaV8zMDU1ODY2NSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNTU4NjY1JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNTU4NjY1IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNTU4NjY1JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA1NTg2NjUgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA1NTg2NjUkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNTU4NjY1IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA1NTg2NjUkdGl0bGUgLCAiIFBNSUQ6IDMwNTU4NjY1ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDU1ODY2NSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNTU4NjY1YCoKCmByIFB1Yk1lZF8zMDU1ODY2NWAKCmByIGFkZHRoaXNfaW5saW5lXzMwNTU4NjY1YAoKYHIgUE1JRF8zMDU1ODY2NSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNTU4NjY1YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNTU4NjY1YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA1NTg2NjVgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwOTAyNDE4LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDkwMjQxOCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDkwMjQxOCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDkwMjQxOCA8LSBwYXN0ZTAoUE1JRF8zMDkwMjQxOCRqb3VybmFsLCcgJywgUE1JRF8zMDkwMjQxOCR5ZWFyLCAnICcsIFBNSURfMzA5MDI0MTgkbW9udGgsJzsnLCBQTUlEXzMwOTAyNDE4JHZvbHVtZSwnKCcsIFBNSURfMzA5MDI0MTgkbnVtYmVyLCcpOicsIFBNSURfMzA5MDI0MTgkcGFnZXMpCgpQdWJNZWRfMzA5MDI0MTggPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDkwMjQxOCRlcHJpbnQpCgpkb2lfMzA5MDI0MTggPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDkwMjQxOCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDkwMjQxOCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDkwMjQxOCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwOTAyNDE4IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwOTAyNDE4JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDkwMjQxOCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwOTAyNDE4JHRpdGxlICwgIiBQTUlEOiAzMDkwMjQxOCAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA5MDI0MTgkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDkwMjQxOGAqCgpgciBQdWJNZWRfMzA5MDI0MThgCgpgciBhZGR0aGlzX2lubGluZV8zMDkwMjQxOGAKCmByIFBNSURfMzA5MDI0MTgkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDkwMjQxOGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDkwMjQxOGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwOTAyNDE4YAoKPC9kZXRhaWxzPgoKLS0tCgoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyMgVGVjaG5pcXVlcywgUmVzZWFyY2ggTWV0aG9kcywgTGlxdWlkIEJpb3BzeQoKLS0tCgpUZWNobmlxdWVzLCBSZXNlYXJjaCBNZXRob2RzLCBMaXF1aWQgQmlvcHN5CgpgYGB7ciBUZWNobmlxdWVzICYgUmVzZWFyY2ggTWV0aG9kcyBMaXF1aWQgQmlvcHN5LCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCmBgYHtyIDMwODE5NTc3LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDgxOTU3NyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDgxOTU3NycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDgxOTU3NyA8LSBwYXN0ZTAoUE1JRF8zMDgxOTU3NyRqb3VybmFsLCcgJywgUE1JRF8zMDgxOTU3NyR5ZWFyLCAnICcsIFBNSURfMzA4MTk1NzckbW9udGgsJzsnLCBQTUlEXzMwODE5NTc3JHZvbHVtZSwnKCcsIFBNSURfMzA4MTk1NzckbnVtYmVyLCcpOicsIFBNSURfMzA4MTk1NzckcGFnZXMpCgpQdWJNZWRfMzA4MTk1NzcgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDgxOTU3NyRlcHJpbnQpCgpkb2lfMzA4MTk1NzcgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDgxOTU3NyRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDgxOTU3NyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDgxOTU3NyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwODE5NTc3IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwODE5NTc3JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDgxOTU3NyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwODE5NTc3JHRpdGxlICwgIiBQTUlEOiAzMDgxOTU3NyAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA4MTk1NzckdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDgxOTU3N2AqCgpgciBQdWJNZWRfMzA4MTk1NzdgCgpgciBhZGR0aGlzX2lubGluZV8zMDgxOTU3N2AKCmByIFBNSURfMzA4MTk1NzckYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDgxOTU3N2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDgxOTU3N2AKCmByIGFsdG1ldHJpY0JhZGdlXzMwODE5NTc3YAoKPC9kZXRhaWxzPgoKLS0tCgotICoqT3JnYW5vaWQgTW9kZWxzIGZvciBDYW5jZXIgUmVzZWFyY2gqKgoKaHR0cHM6Ly93d3cuYW5udWFscmV2aWV3cy5vcmcvZG9pL2Ficy8xMC4xMTQ2L2FubnVyZXYtY2FuY2VyYmlvLTAzMDUxOC0wNTU3MDIKCi0tLQoKCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKIyMjIFJldmlld3MsIE9waW5pb24gQXJ0aWNsZXMKCgpgYGB7ciBSZXZpZXdzIE9waW5pb24gQXJ0aWNsZXMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKLS0tCgotICoqTW9sZWN1bGFyIGVudm95cyBwYXZlIHRoZSB3YXkgZm9yIHBhbmNyZWF0aWMgY2FuY2VyIHRvIGludmFkZSB0aGUgbGl2ZXIqKgoKaHR0cHM6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wdWJtZWQvMzA4NTA3NDAKCmh0dHBzOi8vd3d3Lm5hdHVyZS5jb20vYXJ0aWNsZXMvZDQxNTg2LTAxOS0wMDcxMC16CgotLS0KCmBgYHtyIDMwODM4NjM2LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDgzODYzNiA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDgzODYzNicsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDgzODYzNiA8LSBwYXN0ZTAoUE1JRF8zMDgzODYzNiRqb3VybmFsLCcgJywgUE1JRF8zMDgzODYzNiR5ZWFyLCAnICcsIFBNSURfMzA4Mzg2MzYkbW9udGgsJzsnLCBQTUlEXzMwODM4NjM2JHZvbHVtZSwnKCcsIFBNSURfMzA4Mzg2MzYkbnVtYmVyLCcpOicsIFBNSURfMzA4Mzg2MzYkcGFnZXMpCgpQdWJNZWRfMzA4Mzg2MzYgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDgzODYzNiRlcHJpbnQpCgpkb2lfMzA4Mzg2MzYgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDgzODYzNiRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDgzODYzNiA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDgzODYzNiRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwODM4NjM2IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwODM4NjM2JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDgzODYzNiA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwODM4NjM2JHRpdGxlICwgIiBQTUlEOiAzMDgzODYzNiAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA4Mzg2MzYkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDgzODYzNmAqCgpgciBQdWJNZWRfMzA4Mzg2MzZgCgpgciBhZGR0aGlzX2lubGluZV8zMDgzODYzNmAKCmByIFBNSURfMzA4Mzg2MzYkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDgzODYzNmAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDgzODYzNmAKCmByIGFsdG1ldHJpY0JhZGdlXzMwODM4NjM2YAoKPC9kZXRhaWxzPgoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCiMjIyBBbmltYWwgU3R1ZGllcwoKCmBgYHtyIEFuaW1hbCBTdHVkaWVzLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyMgT25jb2xvZ3kgYW5kIHNlcnVtIG1hcmtlciBzdHVkaWVzCgoKYGBge3IgT25jb2xvZ3kgYW5kIHNlcnVtIG1hcmtlciBzdHVkaWVzLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCgotLS0KCgoKCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCiMjIyBFcGlkZW1pb2xvZ3ksIFNjcmVlbmluZywgQ2FuY2VyIFJpc2sgRmFjdG9ycwoKLS0tCgojIyMjIFBhbmNyZWFzIEVwaWRlbWlvbG9neSBTY3JlZW5pbmcgQ2FuY2VyIFJpc2sgRmFjdG9ycwoKYGBge3IgUGFuY3JlYXMgRXBpZGVtaW9sb2d5IFNjcmVlbmluZyBDYW5jZXIgUmlzayBGYWN0b3JzLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgoKCi0tLQoKYGBge3IgMzA3MjE2NjQsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNzIxNjY0IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNzIxNjY0JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNzIxNjY0IDwtIHBhc3RlMChQTUlEXzMwNzIxNjY0JGpvdXJuYWwsJyAnLCBQTUlEXzMwNzIxNjY0JHllYXIsICcgJywgUE1JRF8zMDcyMTY2NCRtb250aCwnOycsIFBNSURfMzA3MjE2NjQkdm9sdW1lLCcoJywgUE1JRF8zMDcyMTY2NCRudW1iZXIsJyk6JywgUE1JRF8zMDcyMTY2NCRwYWdlcykKClB1Yk1lZF8zMDcyMTY2NCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNzIxNjY0JGVwcmludCkKCmRvaV8zMDcyMTY2NCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNzIxNjY0JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNzIxNjY0IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNzIxNjY0JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA3MjE2NjQgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA3MjE2NjQkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNzIxNjY0IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA3MjE2NjQkdGl0bGUgLCAiIFBNSUQ6IDMwNzIxNjY0ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDcyMTY2NCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNzIxNjY0YCoKCmByIFB1Yk1lZF8zMDcyMTY2NGAKCmByIGFkZHRoaXNfaW5saW5lXzMwNzIxNjY0YAoKYHIgUE1JRF8zMDcyMTY2NCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNzIxNjY0YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNzIxNjY0YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA3MjE2NjRgCgo8L2RldGFpbHM+CgotLS0KCi0gKipEZWxldGVyaW91cyBHZXJtbGluZSBNdXRhdGlvbnMgQXJlIGEgUmlzayBGYWN0b3IgZm9yIE5lb3BsYXN0aWMgUHJvZ3Jlc3Npb24gQW1vbmcgSGlnaC1SaXNrIEluZGl2aWR1YWxzIFVuZGVyZ29pbmcgUGFuY3JlYXRpYyBTdXJ2ZWlsbGFuY2UqKgoKaHR0cHM6Ly9hc2NvcHVicy5vcmcvZG9pL2Ficy8xMC4xMjAwL0pDTy4xOC4wMTUxMgoKLS0tCgojIyMjIEJpbGUgRHVjdCBFcGlkZW1pb2xvZ3kgU2NyZWVuaW5nIENhbmNlciBSaXNrIEZhY3RvcnMKCmBgYHtyIEJpbGUgRHVjdCBFcGlkZW1pb2xvZ3kgU2NyZWVuaW5nIENhbmNlciBSaXNrIEZhY3RvcnMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKCi0tLQoKIyMjIyBQYW5ORVQgRXBpZGVtaW9sb2d5IFNjcmVlbmluZyBDYW5jZXIgUmlzayBGYWN0b3JzCgpgYGB7ciBQYW5ORVQgRXBpZGVtaW9sb2d5IFNjcmVlbmluZyBDYW5jZXIgUmlzayBGYWN0b3JzLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCmBgYHtyIDMwNzI2NzcyLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDcyNjc3MiA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDcyNjc3MicsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDcyNjc3MiA8LSBwYXN0ZTAoUE1JRF8zMDcyNjc3MiRqb3VybmFsLCcgJywgUE1JRF8zMDcyNjc3MiR5ZWFyLCAnICcsIFBNSURfMzA3MjY3NzIkbW9udGgsJzsnLCBQTUlEXzMwNzI2NzcyJHZvbHVtZSwnKCcsIFBNSURfMzA3MjY3NzIkbnVtYmVyLCcpOicsIFBNSURfMzA3MjY3NzIkcGFnZXMpCgpQdWJNZWRfMzA3MjY3NzIgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDcyNjc3MiRlcHJpbnQpCgpkb2lfMzA3MjY3NzIgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDcyNjc3MiRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDcyNjc3MiA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDcyNjc3MiRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNzI2NzcyIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNzI2NzcyJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDcyNjc3MiA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNzI2NzcyJHRpdGxlICwgIiBQTUlEOiAzMDcyNjc3MiAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA3MjY3NzIkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDcyNjc3MmAqCgpgciBQdWJNZWRfMzA3MjY3NzJgCgpgciBhZGR0aGlzX2lubGluZV8zMDcyNjc3MmAKCmByIFBNSURfMzA3MjY3NzIkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDcyNjc3MmAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDcyNjc3MmAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNzI2NzcyYAoKPC9kZXRhaWxzPgoKLS0tCgoKCgoKCiMjIyMgQW1wdWxsYSBvZiBWYXRlciBFcGlkZW1pb2xvZ3kgU2NyZWVuaW5nIENhbmNlciBSaXNrIEZhY3RvcnMKCmBgYHtyIEFtcHVsbGEgb2YgVmF0ZXIgRXBpZGVtaW9sb2d5IFNjcmVlbmluZyBDYW5jZXIgUmlzayBGYWN0b3JzLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCmBgYHtyIDMwNTYxODE4LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDU2MTgxOCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDU2MTgxOCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDU2MTgxOCA8LSBwYXN0ZTAoUE1JRF8zMDU2MTgxOCRqb3VybmFsLCcgJywgUE1JRF8zMDU2MTgxOCR5ZWFyLCAnICcsIFBNSURfMzA1NjE4MTgkbW9udGgsJzsnLCBQTUlEXzMwNTYxODE4JHZvbHVtZSwnKCcsIFBNSURfMzA1NjE4MTgkbnVtYmVyLCcpOicsIFBNSURfMzA1NjE4MTgkcGFnZXMpCgpQdWJNZWRfMzA1NjE4MTggPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDU2MTgxOCRlcHJpbnQpCgpkb2lfMzA1NjE4MTggPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDU2MTgxOCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDU2MTgxOCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDU2MTgxOCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNTYxODE4IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNTYxODE4JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDU2MTgxOCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNTYxODE4JHRpdGxlICwgIiBQTUlEOiAzMDU2MTgxOCAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA1NjE4MTgkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDU2MTgxOGAqCgpgciBQdWJNZWRfMzA1NjE4MThgCgpgciBhZGR0aGlzX2lubGluZV8zMDU2MTgxOGAKCmByIFBNSURfMzA1NjE4MTgkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDU2MTgxOGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDU2MTgxOGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNTYxODE4YAoKPC9kZXRhaWxzPgoKLS0tCgoKCgoKCgoKCgoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyBKb3VybmFscyBSZXZpZXdlZAoKLS0tCgpBZHZhbmNlcyBpbiBBbmF0b21pYyBQYXRob2xvZ3kgIApBbWVyaWNhbiBKb3VybmFsIG9mIENsaW5pY2FsIFBhdGhvbG9neSAgClRoZSBBbWVyaWNhbiBKb3VybmFsIG9mIEdhc3Ryb2VudGVyb2xvZ3kgIApUaGUgQW1lcmljYW4gSm91cm5hbCBvZiBQYXRob2xvZ3kgIApBbWVyaWNhbiBKb3VybmFsIG9mIFN1cmdpY2FsIFBhdGhvbG9neSAgCkFubmFscyBvZiBEaWFnbm9zdGljIFBhdGhvbG9neSAgCkFubmFscyBvZiBTdXJnZXJ5ICAKQW5uYWxzIG9mIFN1cmdpY2FsIE9uY29sb2d5ICAKQW5udWFsIFJldmlldyBvZiBQYXRob2xvZ3ktTWVjaGFuaXNtcyBvZiBEaXNlYXNlICAKQVBNSVMgIApBcHBsaWVkIEltbXVub2hpc3RvY2hlbWlzdHJ5ICYgTW9sZWN1bGFyIE1vcnBob2xvZ3kgIApBcmNoaXZlcyBvZiBQYXRob2xvZ3kgJiBMYWJvcmF0b3J5IE1lZGljaW5lICAKQ2FuY2VyICAKQ2FuY2VyIENlbGwgIApDYW5jZXIgQ3l0b3BhdGhvbG9neSAgCkNlbGwgIApDbGluaWNhbCBDYW5jZXIgUmVzZWFyY2ggIApDeXRvam91cm5hbCAgCkN5dG9wYXRob2xvZ3kgIApEaWFnbm9zdGljIEN5dG9wYXRob2xvZ3kgIApEaWFnbm9zdGljIFBhdGhvbG9neSAgCkVuZG9jcmluZSBQYXRob2xvZ3kgIApFeHBlcmltZW50YWwgYW5kIE1vbGVjdWxhciBQYXRob2xvZ3kgIApFeHBlcnQgUmV2aWV3IG9mIE1vbGVjdWxhciBEaWFnbm9zdGljcyAgCkdhc3Ryb2VudGVyb2xvZ3kgIApHdXQgIApIaXN0b2xvZ3kgYW5kIEhpc3RvcGF0aG9sb2d5ICAKSGlzdG9wYXRob2xvZ3kgIApIdW1hbiBQYXRob2xvZ3kgIApJbnRlcm5hdGlvbmFsIEpvdXJuYWwgb2YgU3VyZ2ljYWwgUGF0aG9sb2d5ICAKSW50ZXJuYXRpb25hbCBKb3VybmFsIG9mIENsaW5pY2FsIGFuZCBFeHBlcmltZW50YWwgUGF0aG9sb2d5ICAKSm91cm5hbCBvZiBDbGluaWNhbCBQYXRob2xvZ3kgIApKb3VybmFsIG9mIE1vbGVjdWxhciBEaWFnbm9zdGljcyAgCkpvdXJuYWwgb2YgUGF0aG9sb2d5ICAKTGFib3JhdG9yeSBpbnZlc3RpZ2F0aW9uICAKTGFuY2V0ICAKTWVkaWNhbCBNb2xlY3VsYXIgTW9ycGhvbG9neSAgCk1vZGVybiBQYXRob2xvZ3kgIApOYXR1cmUgIApOYXR1cmUgUmV2aWV3cyBHYXN0cm9lbnRlcm9sb2d5ICYgSGVwYXRvbG9neSAgCk5FSk0gIApQYW5jcmVhcyAgClBhbmNyZWF0b2xvZ3kgIApQYXRob2Jpb2xvZ3kgIApQYXRob2xvZ2llIEJpb2xvZ2llICAKUGF0aG9sb2d5ICAKUGF0aG9sb2d5ICYgT25jb2xvZ3kgUmVzZWFyY2ggIApQYXRob2xvZ3kgSW50ZXJuYXRpb25hbCAgClBhdGhvbG9neSBSZXNlYXJjaCBhbmQgUHJhY3RpY2UgIApQTkFTICAKU2VtaW5hcnMgaW4gRGlhZ25vc3RpYyBQYXRob2xvZ3kgIApTZW1pbmFycyBpbiBJbW11bm9wYXRob2xvZ3kgIApTdXJnaWNhbCBwYXRob2xvZ3kgY2xpbmljcyAgClZpcmNob3dzIEFyY2hpdiAgCgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKIyMgRmVlZGJhY2sKCi0tLQoKUGxlYXNlIHNlbmQgeW91ciBmZWVkYmFja3MgdXNpbmcgdGhlIGZvcm0gYmVsb3c6CgpbQ2xpY2sgaGVyZSBmb3IgdGhlIEZlZWRiYWNrIEZvcm1dKGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2Zvcm1zL2QvZS8xRkFJcFFMU2VEM1o5SjZZN2VNbWl5TTEyZl9TZkFtSFVseWtiMXp4WmN3TzZsZzdjZWJHWVFJUS92aWV3Zm9ybSkKCgotLS0KCjxzY3JpcHQgaWQ9ImRzcS1jb3VudC1zY3IiIHNyYz0iLy9wYnBhdGgtb3JnLmRpc3F1cy5jb20vY291bnQuanMiIGFzeW5jPjwvc2NyaXB0Pgo8ZGl2IGlkPSJkaXNxdXNfdGhyZWFkIj48L2Rpdj4KPHNjcmlwdD4KCi8qKgoqICBSRUNPTU1FTkRFRCBDT05GSUdVUkFUSU9OIFZBUklBQkxFUzogRURJVCBBTkQgVU5DT01NRU5UIFRIRSBTRUNUSU9OIEJFTE9XIFRPIElOU0VSVCBEWU5BTUlDIFZBTFVFUyBGUk9NIFlPVVIgUExBVEZPUk0gT1IgQ01TLgoqICBMRUFSTiBXSFkgREVGSU5JTkcgVEhFU0UgVkFSSUFCTEVTIElTIElNUE9SVEFOVDogaHR0cHM6Ly9kaXNxdXMuY29tL2FkbWluL3VuaXZlcnNhbGNvZGUvI2NvbmZpZ3VyYXRpb24tdmFyaWFibGVzKi8KLyoKdmFyIGRpc3F1c19jb25maWcgPSBmdW5jdGlvbiAoKSB7CnRoaXMucGFnZS51cmwgPSBQQUdFX1VSTDsgIC8vIFJlcGxhY2UgUEFHRV9VUkwgd2l0aCB5b3VyIHBhZ2UncyBjYW5vbmljYWwgVVJMIHZhcmlhYmxlCnRoaXMucGFnZS5pZGVudGlmaWVyID0gUEFHRV9JREVOVElGSUVSOyAvLyBSZXBsYWNlIFBBR0VfSURFTlRJRklFUiB3aXRoIHlvdXIgcGFnZSdzIHVuaXF1ZSBpZGVudGlmaWVyIHZhcmlhYmxlCn07CiovCihmdW5jdGlvbigpIHsgLy8gRE9OJ1QgRURJVCBCRUxPVyBUSElTIExJTkUKdmFyIGQgPSBkb2N1bWVudCwgcyA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CnMuc3JjID0gJ2h0dHBzOi8vcGJwYXRoLW9yZy5kaXNxdXMuY29tL2VtYmVkLmpzJzsKcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtdGltZXN0YW1wJywgK25ldyBEYXRlKCkpOwooZC5oZWFkIHx8IGQuYm9keSkuYXBwZW5kQ2hpbGQocyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8bm9zY3JpcHQ+UGxlYXNlIGVuYWJsZSBKYXZhU2NyaXB0IHRvIHZpZXcgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZGlzcXVzLmNvbS8/cmVmX25vc2NyaXB0Ij5jb21tZW50cyBwb3dlcmVkIGJ5IERpc3F1cy48L2E+PC9ub3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKCgoKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCiMjIEFyY2hpdmUKCi0tLQoKKipUaGUgUEJQYXRoIEpvdXJuYWwgV2F0Y2ggQXJjaGl2ZSoqCgotIFtDdXJyZW50IElzc3VlXShodHRwOi8vcGJwYXRoLm9yZy9qb3VybmFsLXdhdGNoLykgIAoKLSBbT2xkZXIgSXNzdWVzXShodHRwOi8vcGJwYXRoLm9yZy9qb3VybmFsLXdhdGNoLWFyY2hpdmUvKSAgCgotIFtVcGNvbWluZyBJc3N1ZSwgVW5vZmZpY2lhbCB2ZXJzaW9uXShodHRwOi8vcGJwYXRoLm9yZy9qb3VybmFsLXdhdGNoLXVwY29taW5nLWlzc3VlLykgIAoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKLS0tCgoKCiMjIE5vdCBpbiBQdWJNZWQgeWV0IC8gT3RoZXIgSm91cm5hbHMgey50YWJzZXR9CgpObyBhYnN0cmFjdCB5ZXQsIG5vdCBpbiBQdWJNZWQgeWV0CgotLS0KCiMjIyBQYW5jcmVhcyAKCi0tLQoKCk1vdXNlIE1vZGVscyBTaGVkIExpZ2h0IG9uIHRoZSBTTElUL1JPQk8gUGF0aHdheSBpbiBQYW5jcmVhdGljIERldmVsb3BtZW50IGFuZCBDYW5jZXIuCgpodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC8zMDg5ODI2MQoKQ29tcGFyaXNvbiBvZiBpbW11bmUgaW5maWx0cmF0ZXMgaW4gbWVsYW5vbWEgYW5kIHBhbmNyZWF0aWMgY2FuY2VyIGhpZ2hsaWdodHMgVklTVEEgYXMgYSBwb3RlbnRpYWwgdGFyZ2V0IGluIHBhbmNyZWF0aWMgY2FuY2VyLgoKaHR0cHM6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wdWJtZWQvMzA2MzU0MjUKClR1bW9yIG1pY3JvZW52aXJvbm1lbnQgcGFydGljaXBhdGVzIGluIG1ldGFzdGFzaXMgb2YgcGFuY3JlYXRpYyBjYW5jZXIuCgpodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC8zMDA2MDc1NQoKCkRlbGV0ZXJpb3VzIEdlcm1saW5lIE11dGF0aW9ucyBBcmUgYSBSaXNrIEZhY3RvciBmb3IgTmVvcGxhc3RpYyBQcm9ncmVzc2lvbiBBbW9uZyBIaWdoLVJpc2sgSW5kaXZpZHVhbHMgVW5kZXJnb2luZyBQYW5jcmVhdGljIFN1cnZlaWxsYW5jZQoKaHR0cHM6Ly9hc2NvcHVicy5vcmcvZG9pL2Z1bGwvMTAuMTIwMC9KQ08uMTguMDE1MTIKClN0cm9tYWwgZmlicm9uZWN0aW4gZXhwcmVzc2lvbiBpbiBwYXRpZW50cyB3aXRoIHJlc2VjdGVkIHBhbmNyZWF0aWMgZHVjdGFsIGFkZW5vY2FyY2lub21hLgoKaHR0cHM6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wdWJtZWQvMzA3MzY4MDcKCkNsaW5pY2FsIGFzc2Vzc21lbnQgb2YgdGhlIEdOQVMgbXV0YXRpb24gc3RhdHVzIGluIHBhdGllbnRzIHdpdGggaW50cmFkdWN0YWwgcGFwaWxsYXJ5IG11Y2lub3VzIG5lb3BsYXNtIG9mIHRoZSBwYW5jcmVhcwoKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9hcnRpY2xlLzEwLjEwMDcvczAwNTk1LTAxOS0wMTc5Ny03CgoKQWRpcG9waGlsaW4gZXhwcmVzc2lvbiBpcyBhbiBpbmRpY2F0b3Igb2YgcG9vciBwcm9nbm9zaXMgaW4gcGF0aWVudHMgd2l0aCBwYW5jcmVhdGljIGR1Y3RhbCBhZGVub2NhcmNpbm9tYTogQW4gaW1tdW5vaGlzdG9jaGVtaWNhbCBhbmFseXNpcy4KCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzMwODc5OTY4CgoKRW5yaWNobWVudCBvZiBvcmFsIG1pY3JvYmlvdGEgaW4gZWFybHkgY3lzdGljIHByZWN1cnNvcnMgdG8gaW52YXNpdmUgcGFuY3JlYXRpYyBjYW5jZXIKCmh0dHBzOi8vZ3V0LmJtai5jb20vY29udGVudC9lYXJseS8yMDE5LzAzLzEzL2d1dGpubC0yMDE4LTMxNzQ1OC5hYnN0cmFjdAoKLS0tCgpBYnN0cmFjdHMgZnJvbSBVU0NBUCAyMDE5OiBQYW5jcmVhcywgR2FsbGJsYWRkZXIsIEFtcHVsbGEsIGFuZCBFeHRyYS1IZXBhdGljIEJpbGlhcnkgVHJlZSAoMTY2Ny0xNzM0KS4KCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzMwODg2MjUzCgpBYnN0cmFjdHMgZnJvbSBVU0NBUCAyMDE5OiBQYW5jcmVhcywgR2FsbGJsYWRkZXIsIEFtcHVsbGEsIGFuZCBFeHRyYS1IZXBhdGljIEJpbGlhcnkgVHJlZSAoMTY2Ny0xNzM0KS4KCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzMwODg2MjgzCgpTdHJvbWFsIHByb3RlaW4gzrJpZy1oMyByZXByb2dyYW1tZXMgdHVtb3VyIG1pY3JvZW52aXJvbm1lbnQgaW4gcGFuY3JlYXRpYyBjYW5jZXIuCgpodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC8zMDQxNTIzNAoKCgoKCi0tLQoKLSBDaHJvbWF0aW4gcmVtb2RlbGxpbmcgY29udHJvbHMgcGFuY3JlYXRpYyB0aXNzdWUgZmF0ZS4KCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzMwODkwNTQzCgotIEZPTEZJUklOT1ggQWRqdXZhbnQgVGhlcmFweSBmb3IgUGFuY3JlYXRpYyBDYW5jZXIuIFJlcGx5LgpodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC8zMDg5MzU0NAoKLSBGT0xGSVJJTk9YIEFkanV2YW50IFRoZXJhcHkgZm9yIFBhbmNyZWF0aWMgQ2FuY2VyLgpodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC8zMDg5MzU0MwoKCgoKLS0tCgotICoqSW1tdW5vZ2xvYnVsaW4gRzQtUmVsYXRlZCBQYW5jcmVhdGl0aXM6IE91ciBFeHBlcmllbmNlIGluIGEgR2VybWFuIENvaG9ydCBvZiA1OSBQYXRpZW50cy4qKgoKaHR0cHM6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wdWJtZWQvMzA4NTU0MzEKCi0tLQoKLSAqKkFnZ3Jlc3NpdmUgRmlicm9tYXRvc2lzIG9mIHRoZSBQYW5jcmVhczogQSBSYXJlIENhdXNlIG9mIEluY29tcGxldGUgRHVvZGVuYWwgT2JzdHJ1Y3Rpb24uKioKCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzMwODU1NDMwCgotLS0KCi0gKipFdmFsdWF0aW9uIG9mIGVmZmljYWN5IG9mIHBhbmNyZWF0aWMganVpY2UgY3l0b2xvZ3kgZm9yIHJpc2sgY2xhc3NpZmljYXRpb24gYWNjb3JkaW5nIHRvIGludGVybmF0aW9uYWwgY29uc2Vuc3VzIGd1aWRlbGluZXMgaW4gcGF0aWVudHMgd2l0aCBpbnRyYWR1Y3RhbCBwYXBpbGxhcnkgbXVjaW5vdXMgbmVvcGxhc207IGEgcmV0cm9zcGVjdGl2ZSBzdHVkeSoqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MxNDI0MzkwMzE5MzAwNDkzCgotLS0KCi0gKipDb21iaW5hdGlvbiBvZiBFUksgYW5kIGF1dG9waGFneSBpbmhpYml0aW9uIGFzIGEgdHJlYXRtZW50IGFwcHJvYWNoIGZvciBwYW5jcmVhdGljIGNhbmNlcioqCgpodHRwczovL3d3dy5uYXR1cmUuY29tL2FydGljbGVzL3M0MTU5MS0wMTktMDM2OC04CgoKLS0tCgotICoqUGFuY3JlYXRpYyBKdWljZSBFeG9zb21hbCBNaWNyb1JOQXMgYXMgQmlvbWFya2VycyBmb3IgRGV0ZWN0aW9uIG9mIFBhbmNyZWF0aWMgRHVjdGFsIEFkZW5vY2FyY2lub21hKioKCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzMxNDE1NzAzX1BhbmNyZWF0aWNfSnVpY2VfRXhvc29tYWxfTWljcm9STkFzX2FzX0Jpb21hcmtlcnNfZm9yX0RldGVjdGlvbl9vZl9QYW5jcmVhdGljX0R1Y3RhbF9BZGVub2NhcmNpbm9tYQoKCi0tLQoKLSAqKlRhcmdldGVkIG5leHQgZ2VuZXJhdGlvbiBzZXF1ZW5jaW5nIG9mIHBhbmNyZWF0aWMgc29saWQgcHNldWRvcGFwaWxsYXJ5IG5lb3BsYXNtcyBzaG93IG11dGF0aW9ucyBpbiBXbnQgc2lnbmFsaW5nIHBhdGh3YXkgZ2VuZXMqKgoKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvYWJzLzEwLjExMTEvcGluLjEyNzc4CgotLS0KCi0gKipSZWFsLXRpbWUgVGFyZ2V0ZWQgR2Vub21lIFByb2ZpbGUgQW5hbHlzaXMgb2YgUGFuY3JlYXRpYyBEdWN0YWwgQWRlbm9jYXJjaW5vbWFzIElkZW50aWZpZXMgR2VuZXRpYyBBbHRlcmF0aW9ucyB0aGF0IE1pZ2h0IGJlIFRhcmdldGVkIHdpdGggRXhpc3RpbmcgRHJ1Z3Mgb3IgVXNlZCBhcyBCaW9tYXJrZXJzKioKCmh0dHBzOi8vd3d3Lmdhc3Ryb2pvdXJuYWwub3JnL2FydGljbGUvUzAwMTYtNTA4NSgxOSkzMjUwNS0zL2Z1bGx0ZXh0CgoKLS0tCgotICoqRXhvc29tZXMgZnJvbSBQYW5jcmVhdGljIEp1aWNlOiBBIFN0ZXAgQ2xvc2VyIHRvIHRoZSBIb2x5IEdyYWlsPyoqCgpodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2FydGljbGUvMTAuMTI0NS9zMTA0MzQtMDE5LTA3MjcxLTUKCgotLS0KCi0gKipTaWduaWZpY2FuY2Ugb2YgQ2FuY2VyIENlbGxzIGF0IHRoZSBWZWluIEVkZ2UgaW4gUGF0aWVudHMgd2l0aCBQYW5jcmVhdGljIEFkZW5vY2FyY2lub21hIEZvbGxvd2luZyBQYW5jcmVhdGVjdG9teSB3aXRoIFZlaW4gUmVzZWN0aW9uKioKCmh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vYXJ0aWNsZS8xMC4xMDA3L3MxMTYwNS0wMTktMDQxMjYteQoKLS0tCgotICoqRXhvc29tZXMgZnJvbSBQYW5jcmVhdGljIEp1aWNlOiBBIFN0ZXAgQ2xvc2VyIHRvIHRoZSBIb2x5IEdyYWlsPyoqCgpodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2FydGljbGUvMTAuMTI0NS9zMTA0MzQtMDE5LTA3MjcxLTUKCi0tLQoKLSAqKkludGVncmF0aXZlIEFuYWx5c2lzIG9mIE5vdmVsTWV0YWJvbGljIFN1YnR5cGVzIGluIFBhbmNyZWF0aWNDYW5jZXIgRm9zdGVycyBOZXcgUHJvZ25vc3RpY0Jpb21hcmtlcnMqKgoKaHR0cHM6Ly9pcmlzLnVuaXRvLml0L3JldHJpZXZlL2hhbmRsZS8yMzE4LzE2OTQwNzkvNDg0NjkzL2ZvbmMtMDktMDAxMTUucGRmCgoKLS0tCgotICoqSXMgZWFybHktc3RhZ2UgcGFuY3JlYXRpYyBhZGVub2NhcmNpbm9tYSB0cnVseSBlYXJseTogc3RhZ2UgbWlncmF0aW9uIG9uIGZpbmFsIHBhdGhvbG9neSB3aXRoIHN1cmdlcnktZmlyc3QgdmVyc3VzIG5lb2FkanV2YW50IHRoZXJhcHkgc2VxdWVuY2luZyoqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvYWJzL3BpaS9TMTM2NTE4MlgxOTMwMDY2OAoKLS0tCgotICoqQSByZXNlY3RlZCBjYXNlIG9mIHJlY3VycmVudCBJVFBOIGluIHRoZSByZW1uYW50IHBhbmNyZWFzIGFmdGVyIHBhbmNyZWF0b2R1b2RlbmVjdG9teSoqCgpodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2FydGljbGUvMTAuMTE4Ni9zNDA3OTItMDE5LTA1OTAtMAoKCgoKCi0tLQoKLSAqKkludHJhZHVjdGFsIE9uY29jeXRpYyBQYXBpbGxhcnkgTmVvcGxhc21zIENsaW5pY2FsLVBhdGhvbG9naWMgQ2hhcmFjdGVyaXphdGlvbiBvZiAyNCBDYXNlcywgV2l0aCBBbiBFbXBoYXNpcyBvbiBBc3NvY2lhdGVkIEludmFzaXZlIENhcmNpbm9tYXMqKgoKaHR0cHM6Ly9qb3VybmFscy5sd3cuY29tL2Fqc3AvQWJzdHJhY3QvcHVibGlzaGFoZWFkL0ludHJhZHVjdGFsX09uY29jeXRpY19QYXBpbGxhcnlfTmVvcGxhc21zXy45NzcwMy5hc3B4CgoKLS0tCgotICoqU3lzdGVtYXRpYyByZXZpZXcgb2YgY2xpbmljYWwgcHJlZGljdGlvbiBtb2RlbHMgZm9yIHN1cnZpdmFsIGFmdGVyIHN1cmdlcnkgZm9yIHJlc2VjdGFibGUgcGFuY3JlYXRpYyBjYW5jZXIqKgoKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvYWJzLzEwLjEwMDIvYmpzLjExMTExCgoKLS0tCgpodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L3BtYy9hcnRpY2xlcy9QTUM2Mzc5Mjk2LwoKaHR0cHM6Ly93anNvLmJpb21lZGNlbnRyYWwuY29tL2FydGljbGVzLzEwLjExODYvczEyOTU3LTAxOS0xNTc0LXoKCgpodHRwOi8vY2FuY2VyZGlzY292ZXJ5LmFhY3Jqb3VybmFscy5vcmcvY29udGVudC85LzIvMTczLmFic3RyYWN0CgpodHRwczovL3d3dy5rYXJnZXIuY29tL0FydGljbGUvQWJzdHJhY3QvNDk3MjkxCgpodHRwczovL2FjYWRlbWljLm91cC5jb20vY2FyY2luL2FkdmFuY2UtYXJ0aWNsZS1hYnN0cmFjdC9kb2kvMTAuMTA5My9jYXJjaW4vYmd6MDI0LzUzMDg4NjgKCgoKMzAzNDgwNTcKCi0tLQoKYGBge3IgMzAzNDgwNTcsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMzQ4MDU3IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMzQ4MDU3JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMzQ4MDU3IDwtIHBhc3RlMChQTUlEXzMwMzQ4MDU3JGpvdXJuYWwsJyAnLCBQTUlEXzMwMzQ4MDU3JHllYXIsICcgJywgUE1JRF8zMDM0ODA1NyRtb250aCwnOycsIFBNSURfMzAzNDgwNTckdm9sdW1lLCcoJywgUE1JRF8zMDM0ODA1NyRudW1iZXIsJyk6JywgUE1JRF8zMDM0ODA1NyRwYWdlcykKClB1Yk1lZF8zMDM0ODA1NyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMzQ4MDU3JGVwcmludCkKCmRvaV8zMDM0ODA1NyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMzQ4MDU3JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMzQ4MDU3IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMzQ4MDU3JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAzNDgwNTcgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAzNDgwNTckZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMzQ4MDU3IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAzNDgwNTckdGl0bGUgLCAiIFBNSUQ6IDMwMzQ4MDU3ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDM0ODA1NyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMzQ4MDU3YCoKCmByIFB1Yk1lZF8zMDM0ODA1N2AKCmByIGFkZHRoaXNfaW5saW5lXzMwMzQ4MDU3YAoKYHIgUE1JRF8zMDM0ODA1NyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMzQ4MDU3YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMzQ4MDU3YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAzNDgwNTdgCgo8L2RldGFpbHM+CgoKMzA3NDI5MTEKCi0tLQoKYGBge3IgMzA3NDI5MTEsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNzQyOTExIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNzQyOTExJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNzQyOTExIDwtIHBhc3RlMChQTUlEXzMwNzQyOTExJGpvdXJuYWwsJyAnLCBQTUlEXzMwNzQyOTExJHllYXIsICcgJywgUE1JRF8zMDc0MjkxMSRtb250aCwnOycsIFBNSURfMzA3NDI5MTEkdm9sdW1lLCcoJywgUE1JRF8zMDc0MjkxMSRudW1iZXIsJyk6JywgUE1JRF8zMDc0MjkxMSRwYWdlcykKClB1Yk1lZF8zMDc0MjkxMSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNzQyOTExJGVwcmludCkKCmRvaV8zMDc0MjkxMSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNzQyOTExJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNzQyOTExIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNzQyOTExJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA3NDI5MTEgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA3NDI5MTEkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNzQyOTExIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA3NDI5MTEkdGl0bGUgLCAiIFBNSUQ6IDMwNzQyOTExICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDc0MjkxMSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNzQyOTExYCoKCmByIFB1Yk1lZF8zMDc0MjkxMWAKCmByIGFkZHRoaXNfaW5saW5lXzMwNzQyOTExYAoKYHIgUE1JRF8zMDc0MjkxMSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNzQyOTExYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNzQyOTExYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA3NDI5MTFgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwMzkxMDEzLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDM5MTAxMyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDM5MTAxMycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDM5MTAxMyA8LSBwYXN0ZTAoUE1JRF8zMDM5MTAxMyRqb3VybmFsLCcgJywgUE1JRF8zMDM5MTAxMyR5ZWFyLCAnICcsIFBNSURfMzAzOTEwMTMkbW9udGgsJzsnLCBQTUlEXzMwMzkxMDEzJHZvbHVtZSwnKCcsIFBNSURfMzAzOTEwMTMkbnVtYmVyLCcpOicsIFBNSURfMzAzOTEwMTMkcGFnZXMpCgpQdWJNZWRfMzAzOTEwMTMgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDM5MTAxMyRlcHJpbnQpCgpkb2lfMzAzOTEwMTMgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDM5MTAxMyRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDM5MTAxMyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDM5MTAxMyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMzkxMDEzIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMzkxMDEzJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDM5MTAxMyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMzkxMDEzJHRpdGxlICwgIiBQTUlEOiAzMDM5MTAxMyAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAzOTEwMTMkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDM5MTAxM2AqCgpgciBQdWJNZWRfMzAzOTEwMTNgCgpgciBhZGR0aGlzX2lubGluZV8zMDM5MTAxM2AKCmByIFBNSURfMzAzOTEwMTMkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDM5MTAxM2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDM5MTAxM2AKCmByIGFsdG1ldHJpY0JhZGdlXzMwMzkxMDEzYAoKPC9kZXRhaWxzPgoKLS0tCgoKCgozMDc0NzgyOAoKLS0tCgpgYGB7ciAzMDc0NzgyOCwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA3NDc4MjggPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA3NDc4MjgnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA3NDc4MjggPC0gcGFzdGUwKFBNSURfMzA3NDc4Mjgkam91cm5hbCwnICcsIFBNSURfMzA3NDc4MjgkeWVhciwgJyAnLCBQTUlEXzMwNzQ3ODI4JG1vbnRoLCc7JywgUE1JRF8zMDc0NzgyOCR2b2x1bWUsJygnLCBQTUlEXzMwNzQ3ODI4JG51bWJlciwnKTonLCBQTUlEXzMwNzQ3ODI4JHBhZ2VzKQoKUHViTWVkXzMwNzQ3ODI4IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA3NDc4MjgkZXByaW50KQoKZG9pXzMwNzQ3ODI4IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA3NDc4MjgkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA3NDc4MjggPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA3NDc4MjgkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDc0NzgyOCA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDc0NzgyOCRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA3NDc4MjggPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDc0NzgyOCR0aXRsZSAsICIgUE1JRDogMzA3NDc4MjggIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNzQ3ODI4JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA3NDc4MjhgKgoKYHIgUHViTWVkXzMwNzQ3ODI4YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA3NDc4MjhgCgpgciBQTUlEXzMwNzQ3ODI4JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA3NDc4MjhgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA3NDc4MjhgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDc0NzgyOGAKCjwvZGV0YWlscz4KCi0tLQoKCgozMDc2ODk4NgoKLS0tCgpgYGB7ciAzMDc2ODk4NiwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA3Njg5ODYgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA3Njg5ODYnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA3Njg5ODYgPC0gcGFzdGUwKFBNSURfMzA3Njg5ODYkam91cm5hbCwnICcsIFBNSURfMzA3Njg5ODYkeWVhciwgJyAnLCBQTUlEXzMwNzY4OTg2JG1vbnRoLCc7JywgUE1JRF8zMDc2ODk4NiR2b2x1bWUsJygnLCBQTUlEXzMwNzY4OTg2JG51bWJlciwnKTonLCBQTUlEXzMwNzY4OTg2JHBhZ2VzKQoKUHViTWVkXzMwNzY4OTg2IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA3Njg5ODYkZXByaW50KQoKZG9pXzMwNzY4OTg2IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA3Njg5ODYkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA3Njg5ODYgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA3Njg5ODYkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDc2ODk4NiA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDc2ODk4NiRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA3Njg5ODYgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDc2ODk4NiR0aXRsZSAsICIgUE1JRDogMzA3Njg5ODYgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNzY4OTg2JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA3Njg5ODZgKgoKYHIgUHViTWVkXzMwNzY4OTg2YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA3Njg5ODZgCgpgciBQTUlEXzMwNzY4OTg2JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA3Njg5ODZgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA3Njg5ODZgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDc2ODk4NmAKCjwvZGV0YWlscz4KCi0tLQoKCjMwNDI4NTg4CgotLS0KCmBgYHtyIDMwNDI4NTg4LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDQyODU4OCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDQyODU4OCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDQyODU4OCA8LSBwYXN0ZTAoUE1JRF8zMDQyODU4OCRqb3VybmFsLCcgJywgUE1JRF8zMDQyODU4OCR5ZWFyLCAnICcsIFBNSURfMzA0Mjg1ODgkbW9udGgsJzsnLCBQTUlEXzMwNDI4NTg4JHZvbHVtZSwnKCcsIFBNSURfMzA0Mjg1ODgkbnVtYmVyLCcpOicsIFBNSURfMzA0Mjg1ODgkcGFnZXMpCgpQdWJNZWRfMzA0Mjg1ODggPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDQyODU4OCRlcHJpbnQpCgpkb2lfMzA0Mjg1ODggPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDQyODU4OCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDQyODU4OCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDQyODU4OCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNDI4NTg4IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNDI4NTg4JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDQyODU4OCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNDI4NTg4JHRpdGxlICwgIiBQTUlEOiAzMDQyODU4OCAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA0Mjg1ODgkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDQyODU4OGAqCgpgciBQdWJNZWRfMzA0Mjg1ODhgCgpgciBhZGR0aGlzX2lubGluZV8zMDQyODU4OGAKCmByIFBNSURfMzA0Mjg1ODgkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDQyODU4OGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDQyODU4OGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNDI4NTg4YAoKPC9kZXRhaWxzPgoKLS0tCgoKMzA3NDc4MjkKCi0tLQoKYGBge3IgMzA3NDc4MjksIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNzQ3ODI5IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNzQ3ODI5JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNzQ3ODI5IDwtIHBhc3RlMChQTUlEXzMwNzQ3ODI5JGpvdXJuYWwsJyAnLCBQTUlEXzMwNzQ3ODI5JHllYXIsICcgJywgUE1JRF8zMDc0NzgyOSRtb250aCwnOycsIFBNSURfMzA3NDc4Mjkkdm9sdW1lLCcoJywgUE1JRF8zMDc0NzgyOSRudW1iZXIsJyk6JywgUE1JRF8zMDc0NzgyOSRwYWdlcykKClB1Yk1lZF8zMDc0NzgyOSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNzQ3ODI5JGVwcmludCkKCmRvaV8zMDc0NzgyOSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNzQ3ODI5JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNzQ3ODI5IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNzQ3ODI5JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA3NDc4MjkgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA3NDc4MjkkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNzQ3ODI5IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA3NDc4MjkkdGl0bGUgLCAiIFBNSUQ6IDMwNzQ3ODI5ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDc0NzgyOSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNzQ3ODI5YCoKCmByIFB1Yk1lZF8zMDc0NzgyOWAKCmByIGFkZHRoaXNfaW5saW5lXzMwNzQ3ODI5YAoKYHIgUE1JRF8zMDc0NzgyOSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNzQ3ODI5YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNzQ3ODI5YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA3NDc4MjlgCgo8L2RldGFpbHM+CgoKLS0tCgpgYGB7ciAzMDc2ODU3NywgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA3Njg1NzcgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA3Njg1NzcnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA3Njg1NzcgPC0gcGFzdGUwKFBNSURfMzA3Njg1Nzckam91cm5hbCwnICcsIFBNSURfMzA3Njg1NzckeWVhciwgJyAnLCBQTUlEXzMwNzY4NTc3JG1vbnRoLCc7JywgUE1JRF8zMDc2ODU3NyR2b2x1bWUsJygnLCBQTUlEXzMwNzY4NTc3JG51bWJlciwnKTonLCBQTUlEXzMwNzY4NTc3JHBhZ2VzKQoKUHViTWVkXzMwNzY4NTc3IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA3Njg1NzckZXByaW50KQoKZG9pXzMwNzY4NTc3IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA3Njg1NzckZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA3Njg1NzcgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA3Njg1NzckZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDc2ODU3NyA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDc2ODU3NyRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA3Njg1NzcgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDc2ODU3NyR0aXRsZSAsICIgUE1JRDogMzA3Njg1NzcgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNzY4NTc3JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA3Njg1NzdgKgoKYHIgUHViTWVkXzMwNzY4NTc3YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA3Njg1NzdgCgpgciBQTUlEXzMwNzY4NTc3JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA3Njg1NzdgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA3Njg1NzdgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDc2ODU3N2AKCjwvZGV0YWlscz4KCi0tLQoKCjMwNzM3MDMyCgotLS0KCmBgYHtyIDMwNzM3MDMyLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDczNzAzMiA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDczNzAzMicsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDczNzAzMiA8LSBwYXN0ZTAoUE1JRF8zMDczNzAzMiRqb3VybmFsLCcgJywgUE1JRF8zMDczNzAzMiR5ZWFyLCAnICcsIFBNSURfMzA3MzcwMzIkbW9udGgsJzsnLCBQTUlEXzMwNzM3MDMyJHZvbHVtZSwnKCcsIFBNSURfMzA3MzcwMzIkbnVtYmVyLCcpOicsIFBNSURfMzA3MzcwMzIkcGFnZXMpCgpQdWJNZWRfMzA3MzcwMzIgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDczNzAzMiRlcHJpbnQpCgpkb2lfMzA3MzcwMzIgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDczNzAzMiRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDczNzAzMiA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDczNzAzMiRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNzM3MDMyIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNzM3MDMyJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDczNzAzMiA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNzM3MDMyJHRpdGxlICwgIiBQTUlEOiAzMDczNzAzMiAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA3MzcwMzIkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDczNzAzMmAqCgpgciBQdWJNZWRfMzA3MzcwMzJgCgpgciBhZGR0aGlzX2lubGluZV8zMDczNzAzMmAKCmByIFBNSURfMzA3MzcwMzIkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDczNzAzMmAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDczNzAzMmAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNzM3MDMyYAoKPC9kZXRhaWxzPgoKLS0tCgoKCjMwNzQ3MjI2CgotLS0KCmBgYHtyIDMwNzQ3MjI2LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDc0NzIyNiA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDc0NzIyNicsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDc0NzIyNiA8LSBwYXN0ZTAoUE1JRF8zMDc0NzIyNiRqb3VybmFsLCcgJywgUE1JRF8zMDc0NzIyNiR5ZWFyLCAnICcsIFBNSURfMzA3NDcyMjYkbW9udGgsJzsnLCBQTUlEXzMwNzQ3MjI2JHZvbHVtZSwnKCcsIFBNSURfMzA3NDcyMjYkbnVtYmVyLCcpOicsIFBNSURfMzA3NDcyMjYkcGFnZXMpCgpQdWJNZWRfMzA3NDcyMjYgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDc0NzIyNiRlcHJpbnQpCgpkb2lfMzA3NDcyMjYgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDc0NzIyNiRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDc0NzIyNiA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDc0NzIyNiRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNzQ3MjI2IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNzQ3MjI2JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDc0NzIyNiA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNzQ3MjI2JHRpdGxlICwgIiBQTUlEOiAzMDc0NzIyNiAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA3NDcyMjYkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDc0NzIyNmAqCgpgciBQdWJNZWRfMzA3NDcyMjZgCgpgciBhZGR0aGlzX2lubGluZV8zMDc0NzIyNmAKCmByIFBNSURfMzA3NDcyMjYkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDc0NzIyNmAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDc0NzIyNmAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNzQ3MjI2YAoKPC9kZXRhaWxzPgoKCi0tLQoKYGBge3IgMzA0MDUwNTMsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNDA1MDUzIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNDA1MDUzJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNDA1MDUzIDwtIHBhc3RlMChQTUlEXzMwNDA1MDUzJGpvdXJuYWwsJyAnLCBQTUlEXzMwNDA1MDUzJHllYXIsICcgJywgUE1JRF8zMDQwNTA1MyRtb250aCwnOycsIFBNSURfMzA0MDUwNTMkdm9sdW1lLCcoJywgUE1JRF8zMDQwNTA1MyRudW1iZXIsJyk6JywgUE1JRF8zMDQwNTA1MyRwYWdlcykKClB1Yk1lZF8zMDQwNTA1MyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNDA1MDUzJGVwcmludCkKCmRvaV8zMDQwNTA1MyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNDA1MDUzJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNDA1MDUzIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNDA1MDUzJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA0MDUwNTMgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA0MDUwNTMkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNDA1MDUzIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA0MDUwNTMkdGl0bGUgLCAiIFBNSUQ6IDMwNDA1MDUzICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDQwNTA1MyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNDA1MDUzYCoKCmByIFB1Yk1lZF8zMDQwNTA1M2AKCmByIGFkZHRoaXNfaW5saW5lXzMwNDA1MDUzYAoKYHIgUE1JRF8zMDQwNTA1MyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNDA1MDUzYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNDA1MDUzYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA0MDUwNTNgCgo8L2RldGFpbHM+CgotLS0KCgozMDc1NTMwNQoKLS0tCgpgYGB7ciAzMDc1NTMwNSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA3NTUzMDUgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA3NTUzMDUnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA3NTUzMDUgPC0gcGFzdGUwKFBNSURfMzA3NTUzMDUkam91cm5hbCwnICcsIFBNSURfMzA3NTUzMDUkeWVhciwgJyAnLCBQTUlEXzMwNzU1MzA1JG1vbnRoLCc7JywgUE1JRF8zMDc1NTMwNSR2b2x1bWUsJygnLCBQTUlEXzMwNzU1MzA1JG51bWJlciwnKTonLCBQTUlEXzMwNzU1MzA1JHBhZ2VzKQoKUHViTWVkXzMwNzU1MzA1IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA3NTUzMDUkZXByaW50KQoKZG9pXzMwNzU1MzA1IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA3NTUzMDUkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA3NTUzMDUgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA3NTUzMDUkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDc1NTMwNSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDc1NTMwNSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA3NTUzMDUgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDc1NTMwNSR0aXRsZSAsICIgUE1JRDogMzA3NTUzMDUgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNzU1MzA1JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA3NTUzMDVgKgoKYHIgUHViTWVkXzMwNzU1MzA1YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA3NTUzMDVgCgpgciBQTUlEXzMwNzU1MzA1JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA3NTUzMDVgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA3NTUzMDVgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDc1NTMwNWAKCjwvZGV0YWlscz4KCi0tLQoKCjMwNzY4NTczCgotLS0KCmBgYHtyIDMwNzY4NTczLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDc2ODU3MyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDc2ODU3MycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDc2ODU3MyA8LSBwYXN0ZTAoUE1JRF8zMDc2ODU3MyRqb3VybmFsLCcgJywgUE1JRF8zMDc2ODU3MyR5ZWFyLCAnICcsIFBNSURfMzA3Njg1NzMkbW9udGgsJzsnLCBQTUlEXzMwNzY4NTczJHZvbHVtZSwnKCcsIFBNSURfMzA3Njg1NzMkbnVtYmVyLCcpOicsIFBNSURfMzA3Njg1NzMkcGFnZXMpCgpQdWJNZWRfMzA3Njg1NzMgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDc2ODU3MyRlcHJpbnQpCgpkb2lfMzA3Njg1NzMgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDc2ODU3MyRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDc2ODU3MyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDc2ODU3MyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNzY4NTczIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNzY4NTczJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDc2ODU3MyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNzY4NTczJHRpdGxlICwgIiBQTUlEOiAzMDc2ODU3MyAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA3Njg1NzMkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDc2ODU3M2AqCgpgciBQdWJNZWRfMzA3Njg1NzNgCgpgciBhZGR0aGlzX2lubGluZV8zMDc2ODU3M2AKCmByIFBNSURfMzA3Njg1NzMkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDc2ODU3M2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDc2ODU3M2AKCmByIGFsdG1ldHJpY0JhZGdlXzMwNzY4NTczYAoKPC9kZXRhaWxzPgoKLS0tCgoKMzA3NDc4MjMKCi0tLQoKYGBge3IgMzA3NDc4MjMsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNzQ3ODIzIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNzQ3ODIzJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNzQ3ODIzIDwtIHBhc3RlMChQTUlEXzMwNzQ3ODIzJGpvdXJuYWwsJyAnLCBQTUlEXzMwNzQ3ODIzJHllYXIsICcgJywgUE1JRF8zMDc0NzgyMyRtb250aCwnOycsIFBNSURfMzA3NDc4MjMkdm9sdW1lLCcoJywgUE1JRF8zMDc0NzgyMyRudW1iZXIsJyk6JywgUE1JRF8zMDc0NzgyMyRwYWdlcykKClB1Yk1lZF8zMDc0NzgyMyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNzQ3ODIzJGVwcmludCkKCmRvaV8zMDc0NzgyMyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNzQ3ODIzJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNzQ3ODIzIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNzQ3ODIzJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA3NDc4MjMgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA3NDc4MjMkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNzQ3ODIzIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA3NDc4MjMkdGl0bGUgLCAiIFBNSUQ6IDMwNzQ3ODIzICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDc0NzgyMyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNzQ3ODIzYCoKCmByIFB1Yk1lZF8zMDc0NzgyM2AKCmByIGFkZHRoaXNfaW5saW5lXzMwNzQ3ODIzYAoKYHIgUE1JRF8zMDc0NzgyMyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNzQ3ODIzYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNzQ3ODIzYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA3NDc4MjNgCgo8L2RldGFpbHM+CgotLS0KCgoKCjMwNzU2MzE0CgotLS0KCmBgYHtyIDMwNzU2MzE0LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDc1NjMxNCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDc1NjMxNCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDc1NjMxNCA8LSBwYXN0ZTAoUE1JRF8zMDc1NjMxNCRqb3VybmFsLCcgJywgUE1JRF8zMDc1NjMxNCR5ZWFyLCAnICcsIFBNSURfMzA3NTYzMTQkbW9udGgsJzsnLCBQTUlEXzMwNzU2MzE0JHZvbHVtZSwnKCcsIFBNSURfMzA3NTYzMTQkbnVtYmVyLCcpOicsIFBNSURfMzA3NTYzMTQkcGFnZXMpCgpQdWJNZWRfMzA3NTYzMTQgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDc1NjMxNCRlcHJpbnQpCgpkb2lfMzA3NTYzMTQgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDc1NjMxNCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDc1NjMxNCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDc1NjMxNCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNzU2MzE0IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNzU2MzE0JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDc1NjMxNCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNzU2MzE0JHRpdGxlICwgIiBQTUlEOiAzMDc1NjMxNCAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA3NTYzMTQkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDc1NjMxNGAqCgpgciBQdWJNZWRfMzA3NTYzMTRgCgpgciBhZGR0aGlzX2lubGluZV8zMDc1NjMxNGAKCmByIFBNSURfMzA3NTYzMTQkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDc1NjMxNGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDc1NjMxNGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNzU2MzE0YAoKPC9kZXRhaWxzPgoKLS0tCgoKCjMwNzQ3ODI3CgotLS0KCmBgYHtyIDMwNzQ3ODI3LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDc0NzgyNyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDc0NzgyNycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDc0NzgyNyA8LSBwYXN0ZTAoUE1JRF8zMDc0NzgyNyRqb3VybmFsLCcgJywgUE1JRF8zMDc0NzgyNyR5ZWFyLCAnICcsIFBNSURfMzA3NDc4MjckbW9udGgsJzsnLCBQTUlEXzMwNzQ3ODI3JHZvbHVtZSwnKCcsIFBNSURfMzA3NDc4MjckbnVtYmVyLCcpOicsIFBNSURfMzA3NDc4MjckcGFnZXMpCgpQdWJNZWRfMzA3NDc4MjcgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDc0NzgyNyRlcHJpbnQpCgpkb2lfMzA3NDc4MjcgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDc0NzgyNyRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDc0NzgyNyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDc0NzgyNyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNzQ3ODI3IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNzQ3ODI3JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDc0NzgyNyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNzQ3ODI3JHRpdGxlICwgIiBQTUlEOiAzMDc0NzgyNyAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA3NDc4MjckdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDc0NzgyN2AqCgpgciBQdWJNZWRfMzA3NDc4MjdgCgpgciBhZGR0aGlzX2lubGluZV8zMDc0NzgyN2AKCmByIFBNSURfMzA3NDc4MjckYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDc0NzgyN2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDc0NzgyN2AKCmByIGFsdG1ldHJpY0JhZGdlXzMwNzQ3ODI3YAoKPC9kZXRhaWxzPgoKLS0tCgoKCjMwNzY4NTc0CgotLS0KCmBgYHtyIDMwNzY4NTc0LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDc2ODU3NCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDc2ODU3NCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDc2ODU3NCA8LSBwYXN0ZTAoUE1JRF8zMDc2ODU3NCRqb3VybmFsLCcgJywgUE1JRF8zMDc2ODU3NCR5ZWFyLCAnICcsIFBNSURfMzA3Njg1NzQkbW9udGgsJzsnLCBQTUlEXzMwNzY4NTc0JHZvbHVtZSwnKCcsIFBNSURfMzA3Njg1NzQkbnVtYmVyLCcpOicsIFBNSURfMzA3Njg1NzQkcGFnZXMpCgpQdWJNZWRfMzA3Njg1NzQgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDc2ODU3NCRlcHJpbnQpCgpkb2lfMzA3Njg1NzQgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDc2ODU3NCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDc2ODU3NCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDc2ODU3NCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNzY4NTc0IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNzY4NTc0JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDc2ODU3NCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNzY4NTc0JHRpdGxlICwgIiBQTUlEOiAzMDc2ODU3NCAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA3Njg1NzQkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDc2ODU3NGAqCgpgciBQdWJNZWRfMzA3Njg1NzRgCgpgciBhZGR0aGlzX2lubGluZV8zMDc2ODU3NGAKCmByIFBNSURfMzA3Njg1NzQkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDc2ODU3NGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDc2ODU3NGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNzY4NTc0YAoKPC9kZXRhaWxzPgoKLS0tCgoKCjI5ODYwOTg2CgotLS0KCmBgYHtyIDI5ODYwOTg2LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8yOTg2MDk4NiA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCcyOTg2MDk4NicsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8yOTg2MDk4NiA8LSBwYXN0ZTAoUE1JRF8yOTg2MDk4NiRqb3VybmFsLCcgJywgUE1JRF8yOTg2MDk4NiR5ZWFyLCAnICcsIFBNSURfMjk4NjA5ODYkbW9udGgsJzsnLCBQTUlEXzI5ODYwOTg2JHZvbHVtZSwnKCcsIFBNSURfMjk4NjA5ODYkbnVtYmVyLCcpOicsIFBNSURfMjk4NjA5ODYkcGFnZXMpCgpQdWJNZWRfMjk4NjA5ODYgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8yOTg2MDk4NiRlcHJpbnQpCgpkb2lfMjk4NjA5ODYgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8yOTg2MDk4NiRkb2kpCgpkaW1lbnNpb25CYWRnZV8yOTg2MDk4NiA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8yOTg2MDk4NiRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzI5ODYwOTg2IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzI5ODYwOTg2JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8yOTg2MDk4NiA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzI5ODYwOTg2JHRpdGxlICwgIiBQTUlEOiAyOTg2MDk4NiAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMjk4NjA5ODYkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8yOTg2MDk4NmAqCgpgciBQdWJNZWRfMjk4NjA5ODZgCgpgciBhZGR0aGlzX2lubGluZV8yOTg2MDk4NmAKCmByIFBNSURfMjk4NjA5ODYkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8yOTg2MDk4NmAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8yOTg2MDk4NmAKCmByIGFsdG1ldHJpY0JhZGdlXzI5ODYwOTg2YAoKPC9kZXRhaWxzPgoKLS0tCgoKMzAyNDM4NzkKCi0tLQoKYGBge3IgMzAyNDM4NzksIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMjQzODc5IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMjQzODc5JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMjQzODc5IDwtIHBhc3RlMChQTUlEXzMwMjQzODc5JGpvdXJuYWwsJyAnLCBQTUlEXzMwMjQzODc5JHllYXIsICcgJywgUE1JRF8zMDI0Mzg3OSRtb250aCwnOycsIFBNSURfMzAyNDM4Nzkkdm9sdW1lLCcoJywgUE1JRF8zMDI0Mzg3OSRudW1iZXIsJyk6JywgUE1JRF8zMDI0Mzg3OSRwYWdlcykKClB1Yk1lZF8zMDI0Mzg3OSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMjQzODc5JGVwcmludCkKCmRvaV8zMDI0Mzg3OSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMjQzODc5JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMjQzODc5IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMjQzODc5JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAyNDM4NzkgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAyNDM4NzkkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMjQzODc5IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAyNDM4NzkkdGl0bGUgLCAiIFBNSUQ6IDMwMjQzODc5ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDI0Mzg3OSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMjQzODc5YCoKCmByIFB1Yk1lZF8zMDI0Mzg3OWAKCmByIGFkZHRoaXNfaW5saW5lXzMwMjQzODc5YAoKYHIgUE1JRF8zMDI0Mzg3OSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMjQzODc5YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMjQzODc5YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAyNDM4NzlgCgo8L2RldGFpbHM+CgotLS0KCgozMDc2NzE0OAoKLS0tCgpgYGB7ciAzMDc2NzE0OCwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA3NjcxNDggPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA3NjcxNDgnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA3NjcxNDggPC0gcGFzdGUwKFBNSURfMzA3NjcxNDgkam91cm5hbCwnICcsIFBNSURfMzA3NjcxNDgkeWVhciwgJyAnLCBQTUlEXzMwNzY3MTQ4JG1vbnRoLCc7JywgUE1JRF8zMDc2NzE0OCR2b2x1bWUsJygnLCBQTUlEXzMwNzY3MTQ4JG51bWJlciwnKTonLCBQTUlEXzMwNzY3MTQ4JHBhZ2VzKQoKUHViTWVkXzMwNzY3MTQ4IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA3NjcxNDgkZXByaW50KQoKZG9pXzMwNzY3MTQ4IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA3NjcxNDgkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA3NjcxNDggPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA3NjcxNDgkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDc2NzE0OCA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDc2NzE0OCRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA3NjcxNDggPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDc2NzE0OCR0aXRsZSAsICIgUE1JRDogMzA3NjcxNDggIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNzY3MTQ4JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA3NjcxNDhgKgoKYHIgUHViTWVkXzMwNzY3MTQ4YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA3NjcxNDhgCgpgciBQTUlEXzMwNzY3MTQ4JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA3NjcxNDhgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA3NjcxNDhgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDc2NzE0OGAKCjwvZGV0YWlscz4KCi0tLQoKCgoyOTQ4MzgyOQoKLS0tCgpgYGB7ciAyOTQ4MzgyOSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMjk0ODM4MjkgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMjk0ODM4MjknLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMjk0ODM4MjkgPC0gcGFzdGUwKFBNSURfMjk0ODM4Mjkkam91cm5hbCwnICcsIFBNSURfMjk0ODM4MjkkeWVhciwgJyAnLCBQTUlEXzI5NDgzODI5JG1vbnRoLCc7JywgUE1JRF8yOTQ4MzgyOSR2b2x1bWUsJygnLCBQTUlEXzI5NDgzODI5JG51bWJlciwnKTonLCBQTUlEXzI5NDgzODI5JHBhZ2VzKQoKUHViTWVkXzI5NDgzODI5IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMjk0ODM4MjkkZXByaW50KQoKZG9pXzI5NDgzODI5IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMjk0ODM4MjkkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMjk0ODM4MjkgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMjk0ODM4MjkkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8yOTQ4MzgyOSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8yOTQ4MzgyOSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMjk0ODM4MjkgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8yOTQ4MzgyOSR0aXRsZSAsICIgUE1JRDogMjk0ODM4MjkgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzI5NDgzODI5JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMjk0ODM4MjlgKgoKYHIgUHViTWVkXzI5NDgzODI5YAoKYHIgYWRkdGhpc19pbmxpbmVfMjk0ODM4MjlgCgpgciBQTUlEXzI5NDgzODI5JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMjk0ODM4MjlgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMjk0ODM4MjlgCgpgciBhbHRtZXRyaWNCYWRnZV8yOTQ4MzgyOWAKCjwvZGV0YWlscz4KCi0tLQoKYGBge3IgMzA3Njg3ODUsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNzY4Nzg1IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNzY4Nzg1JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNzY4Nzg1IDwtIHBhc3RlMChQTUlEXzMwNzY4Nzg1JGpvdXJuYWwsJyAnLCBQTUlEXzMwNzY4Nzg1JHllYXIsICcgJywgUE1JRF8zMDc2ODc4NSRtb250aCwnOycsIFBNSURfMzA3Njg3ODUkdm9sdW1lLCcoJywgUE1JRF8zMDc2ODc4NSRudW1iZXIsJyk6JywgUE1JRF8zMDc2ODc4NSRwYWdlcykKClB1Yk1lZF8zMDc2ODc4NSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNzY4Nzg1JGVwcmludCkKCmRvaV8zMDc2ODc4NSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNzY4Nzg1JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNzY4Nzg1IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNzY4Nzg1JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA3Njg3ODUgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA3Njg3ODUkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNzY4Nzg1IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA3Njg3ODUkdGl0bGUgLCAiIFBNSUQ6IDMwNzY4Nzg1ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDc2ODc4NSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNzY4Nzg1YCoKCmByIFB1Yk1lZF8zMDc2ODc4NWAKCmByIGFkZHRoaXNfaW5saW5lXzMwNzY4Nzg1YAoKYHIgUE1JRF8zMDc2ODc4NSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNzY4Nzg1YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNzY4Nzg1YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA3Njg3ODVgCgo8L2RldGFpbHM+CgotLS0KCgoKMzA3NDc4MjQKCi0tLQoKYGBge3IgMzA3NDc4MjQsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNzQ3ODI0IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNzQ3ODI0JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNzQ3ODI0IDwtIHBhc3RlMChQTUlEXzMwNzQ3ODI0JGpvdXJuYWwsJyAnLCBQTUlEXzMwNzQ3ODI0JHllYXIsICcgJywgUE1JRF8zMDc0NzgyNCRtb250aCwnOycsIFBNSURfMzA3NDc4MjQkdm9sdW1lLCcoJywgUE1JRF8zMDc0NzgyNCRudW1iZXIsJyk6JywgUE1JRF8zMDc0NzgyNCRwYWdlcykKClB1Yk1lZF8zMDc0NzgyNCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNzQ3ODI0JGVwcmludCkKCmRvaV8zMDc0NzgyNCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNzQ3ODI0JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNzQ3ODI0IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNzQ3ODI0JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA3NDc4MjQgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA3NDc4MjQkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNzQ3ODI0IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA3NDc4MjQkdGl0bGUgLCAiIFBNSUQ6IDMwNzQ3ODI0ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDc0NzgyNCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNzQ3ODI0YCoKCmByIFB1Yk1lZF8zMDc0NzgyNGAKCmByIGFkZHRoaXNfaW5saW5lXzMwNzQ3ODI0YAoKYHIgUE1JRF8zMDc0NzgyNCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNzQ3ODI0YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNzQ3ODI0YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA3NDc4MjRgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwNzY1NjExLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDc2NTYxMSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDc2NTYxMScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDc2NTYxMSA8LSBwYXN0ZTAoUE1JRF8zMDc2NTYxMSRqb3VybmFsLCcgJywgUE1JRF8zMDc2NTYxMSR5ZWFyLCAnICcsIFBNSURfMzA3NjU2MTEkbW9udGgsJzsnLCBQTUlEXzMwNzY1NjExJHZvbHVtZSwnKCcsIFBNSURfMzA3NjU2MTEkbnVtYmVyLCcpOicsIFBNSURfMzA3NjU2MTEkcGFnZXMpCgpQdWJNZWRfMzA3NjU2MTEgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDc2NTYxMSRlcHJpbnQpCgpkb2lfMzA3NjU2MTEgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDc2NTYxMSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDc2NTYxMSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDc2NTYxMSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNzY1NjExIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNzY1NjExJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDc2NTYxMSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNzY1NjExJHRpdGxlICwgIiBQTUlEOiAzMDc2NTYxMSAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA3NjU2MTEkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDc2NTYxMWAqCgpgciBQdWJNZWRfMzA3NjU2MTFgCgpgciBhZGR0aGlzX2lubGluZV8zMDc2NTYxMWAKCmByIFBNSURfMzA3NjU2MTEkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDc2NTYxMWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDc2NTYxMWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNzY1NjExYAoKPC9kZXRhaWxzPgoKLS0tCgoKCjMwODA3MzAzCgotLS0KCmBgYHtyIDMwODA3MzAzLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDgwNzMwMyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDgwNzMwMycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDgwNzMwMyA8LSBwYXN0ZTAoUE1JRF8zMDgwNzMwMyRqb3VybmFsLCcgJywgUE1JRF8zMDgwNzMwMyR5ZWFyLCAnICcsIFBNSURfMzA4MDczMDMkbW9udGgsJzsnLCBQTUlEXzMwODA3MzAzJHZvbHVtZSwnKCcsIFBNSURfMzA4MDczMDMkbnVtYmVyLCcpOicsIFBNSURfMzA4MDczMDMkcGFnZXMpCgpQdWJNZWRfMzA4MDczMDMgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDgwNzMwMyRlcHJpbnQpCgpkb2lfMzA4MDczMDMgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDgwNzMwMyRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDgwNzMwMyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDgwNzMwMyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwODA3MzAzIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwODA3MzAzJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDgwNzMwMyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwODA3MzAzJHRpdGxlICwgIiBQTUlEOiAzMDgwNzMwMyAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA4MDczMDMkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDgwNzMwM2AqCgpgciBQdWJNZWRfMzA4MDczMDNgCgpgciBhZGR0aGlzX2lubGluZV8zMDgwNzMwM2AKCmByIFBNSURfMzA4MDczMDMkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDgwNzMwM2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDgwNzMwM2AKCmByIGFsdG1ldHJpY0JhZGdlXzMwODA3MzAzYAoKPC9kZXRhaWxzPgoKLS0tCgoKCjMwODA1ODExCgotLS0KCmBgYHtyIDMwODA1ODExLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDgwNTgxMSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDgwNTgxMScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDgwNTgxMSA8LSBwYXN0ZTAoUE1JRF8zMDgwNTgxMSRqb3VybmFsLCcgJywgUE1JRF8zMDgwNTgxMSR5ZWFyLCAnICcsIFBNSURfMzA4MDU4MTEkbW9udGgsJzsnLCBQTUlEXzMwODA1ODExJHZvbHVtZSwnKCcsIFBNSURfMzA4MDU4MTEkbnVtYmVyLCcpOicsIFBNSURfMzA4MDU4MTEkcGFnZXMpCgpQdWJNZWRfMzA4MDU4MTEgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDgwNTgxMSRlcHJpbnQpCgpkb2lfMzA4MDU4MTEgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDgwNTgxMSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDgwNTgxMSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDgwNTgxMSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwODA1ODExIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwODA1ODExJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDgwNTgxMSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwODA1ODExJHRpdGxlICwgIiBQTUlEOiAzMDgwNTgxMSAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA4MDU4MTEkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDgwNTgxMWAqCgpgciBQdWJNZWRfMzA4MDU4MTFgCgpgciBhZGR0aGlzX2lubGluZV8zMDgwNTgxMWAKCmByIFBNSURfMzA4MDU4MTEkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDgwNTgxMWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDgwNTgxMWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwODA1ODExYAoKPC9kZXRhaWxzPgoKLS0tCgoKCjMwODAzODc0CgotLS0KCmBgYHtyIDMwODAzODc0LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDgwMzg3NCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDgwMzg3NCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDgwMzg3NCA8LSBwYXN0ZTAoUE1JRF8zMDgwMzg3NCRqb3VybmFsLCcgJywgUE1JRF8zMDgwMzg3NCR5ZWFyLCAnICcsIFBNSURfMzA4MDM4NzQkbW9udGgsJzsnLCBQTUlEXzMwODAzODc0JHZvbHVtZSwnKCcsIFBNSURfMzA4MDM4NzQkbnVtYmVyLCcpOicsIFBNSURfMzA4MDM4NzQkcGFnZXMpCgpQdWJNZWRfMzA4MDM4NzQgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDgwMzg3NCRlcHJpbnQpCgpkb2lfMzA4MDM4NzQgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDgwMzg3NCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDgwMzg3NCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDgwMzg3NCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwODAzODc0IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwODAzODc0JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDgwMzg3NCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwODAzODc0JHRpdGxlICwgIiBQTUlEOiAzMDgwMzg3NCAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA4MDM4NzQkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDgwMzg3NGAqCgpgciBQdWJNZWRfMzA4MDM4NzRgCgpgciBhZGR0aGlzX2lubGluZV8zMDgwMzg3NGAKCmByIFBNSURfMzA4MDM4NzQkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDgwMzg3NGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDgwMzg3NGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwODAzODc0YAoKPC9kZXRhaWxzPgoKLS0tCgoKCjMwODA1NzEwCgotLS0KCmBgYHtyIDMwODA1NzEwLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDgwNTcxMCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDgwNTcxMCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDgwNTcxMCA8LSBwYXN0ZTAoUE1JRF8zMDgwNTcxMCRqb3VybmFsLCcgJywgUE1JRF8zMDgwNTcxMCR5ZWFyLCAnICcsIFBNSURfMzA4MDU3MTAkbW9udGgsJzsnLCBQTUlEXzMwODA1NzEwJHZvbHVtZSwnKCcsIFBNSURfMzA4MDU3MTAkbnVtYmVyLCcpOicsIFBNSURfMzA4MDU3MTAkcGFnZXMpCgpQdWJNZWRfMzA4MDU3MTAgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDgwNTcxMCRlcHJpbnQpCgpkb2lfMzA4MDU3MTAgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDgwNTcxMCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDgwNTcxMCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDgwNTcxMCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwODA1NzEwIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwODA1NzEwJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDgwNTcxMCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwODA1NzEwJHRpdGxlICwgIiBQTUlEOiAzMDgwNTcxMCAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA4MDU3MTAkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDgwNTcxMGAqCgpgciBQdWJNZWRfMzA4MDU3MTBgCgpgciBhZGR0aGlzX2lubGluZV8zMDgwNTcxMGAKCmByIFBNSURfMzA4MDU3MTAkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDgwNTcxMGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDgwNTcxMGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwODA1NzEwYAoKPC9kZXRhaWxzPgoKLS0tCgoKCjI5OTkzMDM3CgotLS0KCmBgYHtyIDI5OTkzMDM3LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8yOTk5MzAzNyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCcyOTk5MzAzNycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8yOTk5MzAzNyA8LSBwYXN0ZTAoUE1JRF8yOTk5MzAzNyRqb3VybmFsLCcgJywgUE1JRF8yOTk5MzAzNyR5ZWFyLCAnICcsIFBNSURfMjk5OTMwMzckbW9udGgsJzsnLCBQTUlEXzI5OTkzMDM3JHZvbHVtZSwnKCcsIFBNSURfMjk5OTMwMzckbnVtYmVyLCcpOicsIFBNSURfMjk5OTMwMzckcGFnZXMpCgpQdWJNZWRfMjk5OTMwMzcgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8yOTk5MzAzNyRlcHJpbnQpCgpkb2lfMjk5OTMwMzcgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8yOTk5MzAzNyRkb2kpCgpkaW1lbnNpb25CYWRnZV8yOTk5MzAzNyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8yOTk5MzAzNyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzI5OTkzMDM3IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzI5OTkzMDM3JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8yOTk5MzAzNyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzI5OTkzMDM3JHRpdGxlICwgIiBQTUlEOiAyOTk5MzAzNyAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMjk5OTMwMzckdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8yOTk5MzAzN2AqCgpgciBQdWJNZWRfMjk5OTMwMzdgCgpgciBhZGR0aGlzX2lubGluZV8yOTk5MzAzN2AKCmByIFBNSURfMjk5OTMwMzckYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8yOTk5MzAzN2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8yOTk5MzAzN2AKCmByIGFsdG1ldHJpY0JhZGdlXzI5OTkzMDM3YAoKPC9kZXRhaWxzPgoKLS0tCgoKCgoKMzA4MTQ0OTYKCi0tLQoKYGBge3IgMzA4MTQ0OTYsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwODE0NDk2IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwODE0NDk2JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwODE0NDk2IDwtIHBhc3RlMChQTUlEXzMwODE0NDk2JGpvdXJuYWwsJyAnLCBQTUlEXzMwODE0NDk2JHllYXIsICcgJywgUE1JRF8zMDgxNDQ5NiRtb250aCwnOycsIFBNSURfMzA4MTQ0OTYkdm9sdW1lLCcoJywgUE1JRF8zMDgxNDQ5NiRudW1iZXIsJyk6JywgUE1JRF8zMDgxNDQ5NiRwYWdlcykKClB1Yk1lZF8zMDgxNDQ5NiA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwODE0NDk2JGVwcmludCkKCmRvaV8zMDgxNDQ5NiA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwODE0NDk2JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwODE0NDk2IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwODE0NDk2JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA4MTQ0OTYgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA4MTQ0OTYkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwODE0NDk2IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA4MTQ0OTYkdGl0bGUgLCAiIFBNSUQ6IDMwODE0NDk2ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDgxNDQ5NiR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwODE0NDk2YCoKCmByIFB1Yk1lZF8zMDgxNDQ5NmAKCmByIGFkZHRoaXNfaW5saW5lXzMwODE0NDk2YAoKYHIgUE1JRF8zMDgxNDQ5NiRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwODE0NDk2YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwODE0NDk2YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA4MTQ0OTZgCgo8L2RldGFpbHM+CgotLS0KCgoKCgoKCgoKCgotLS0KCmBgYHtyIDMwODIwMjMyLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDgyMDIzMiA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDgyMDIzMicsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDgyMDIzMiA8LSBwYXN0ZTAoUE1JRF8zMDgyMDIzMiRqb3VybmFsLCcgJywgUE1JRF8zMDgyMDIzMiR5ZWFyLCAnICcsIFBNSURfMzA4MjAyMzIkbW9udGgsJzsnLCBQTUlEXzMwODIwMjMyJHZvbHVtZSwnKCcsIFBNSURfMzA4MjAyMzIkbnVtYmVyLCcpOicsIFBNSURfMzA4MjAyMzIkcGFnZXMpCgpQdWJNZWRfMzA4MjAyMzIgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDgyMDIzMiRlcHJpbnQpCgpkb2lfMzA4MjAyMzIgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDgyMDIzMiRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDgyMDIzMiA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDgyMDIzMiRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwODIwMjMyIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwODIwMjMyJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDgyMDIzMiA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwODIwMjMyJHRpdGxlICwgIiBQTUlEOiAzMDgyMDIzMiAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA4MjAyMzIkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDgyMDIzMmAqCgpgciBQdWJNZWRfMzA4MjAyMzJgCgpgciBhZGR0aGlzX2lubGluZV8zMDgyMDIzMmAKCmByIFBNSURfMzA4MjAyMzIkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDgyMDIzMmAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDgyMDIzMmAKCmByIGFsdG1ldHJpY0JhZGdlXzMwODIwMjMyYAoKPC9kZXRhaWxzPgoKCgotLS0KCmBgYHtyIDMwODIwNzg3LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDgyMDc4NyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDgyMDc4NycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDgyMDc4NyA8LSBwYXN0ZTAoUE1JRF8zMDgyMDc4NyRqb3VybmFsLCcgJywgUE1JRF8zMDgyMDc4NyR5ZWFyLCAnICcsIFBNSURfMzA4MjA3ODckbW9udGgsJzsnLCBQTUlEXzMwODIwNzg3JHZvbHVtZSwnKCcsIFBNSURfMzA4MjA3ODckbnVtYmVyLCcpOicsIFBNSURfMzA4MjA3ODckcGFnZXMpCgpQdWJNZWRfMzA4MjA3ODcgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDgyMDc4NyRlcHJpbnQpCgpkb2lfMzA4MjA3ODcgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDgyMDc4NyRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDgyMDc4NyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDgyMDc4NyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwODIwNzg3IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwODIwNzg3JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDgyMDc4NyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwODIwNzg3JHRpdGxlICwgIiBQTUlEOiAzMDgyMDc4NyAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA4MjA3ODckdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDgyMDc4N2AqCgpgciBQdWJNZWRfMzA4MjA3ODdgCgpgciBhZGR0aGlzX2lubGluZV8zMDgyMDc4N2AKCmByIFBNSURfMzA4MjA3ODckYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDgyMDc4N2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDgyMDc4N2AKCmByIGFsdG1ldHJpY0JhZGdlXzMwODIwNzg3YAoKPC9kZXRhaWxzPgoKLS0tCgpgYGB7ciAzMDgyMDc4OSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA4MjA3ODkgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA4MjA3ODknLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA4MjA3ODkgPC0gcGFzdGUwKFBNSURfMzA4MjA3ODkkam91cm5hbCwnICcsIFBNSURfMzA4MjA3ODkkeWVhciwgJyAnLCBQTUlEXzMwODIwNzg5JG1vbnRoLCc7JywgUE1JRF8zMDgyMDc4OSR2b2x1bWUsJygnLCBQTUlEXzMwODIwNzg5JG51bWJlciwnKTonLCBQTUlEXzMwODIwNzg5JHBhZ2VzKQoKUHViTWVkXzMwODIwNzg5IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA4MjA3ODkkZXByaW50KQoKZG9pXzMwODIwNzg5IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA4MjA3ODkkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA4MjA3ODkgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA4MjA3ODkkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDgyMDc4OSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDgyMDc4OSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA4MjA3ODkgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDgyMDc4OSR0aXRsZSAsICIgUE1JRDogMzA4MjA3ODkgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwODIwNzg5JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA4MjA3ODlgKgoKYHIgUHViTWVkXzMwODIwNzg5YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA4MjA3ODlgCgpgciBQTUlEXzMwODIwNzg5JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA4MjA3ODlgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA4MjA3ODlgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDgyMDc4OWAKCjwvZGV0YWlscz4KCi0tLQoKYGBge3IgMzA3OTkyNzcsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNzk5Mjc3IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNzk5Mjc3JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNzk5Mjc3IDwtIHBhc3RlMChQTUlEXzMwNzk5Mjc3JGpvdXJuYWwsJyAnLCBQTUlEXzMwNzk5Mjc3JHllYXIsICcgJywgUE1JRF8zMDc5OTI3NyRtb250aCwnOycsIFBNSURfMzA3OTkyNzckdm9sdW1lLCcoJywgUE1JRF8zMDc5OTI3NyRudW1iZXIsJyk6JywgUE1JRF8zMDc5OTI3NyRwYWdlcykKClB1Yk1lZF8zMDc5OTI3NyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNzk5Mjc3JGVwcmludCkKCmRvaV8zMDc5OTI3NyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNzk5Mjc3JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNzk5Mjc3IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNzk5Mjc3JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA3OTkyNzcgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA3OTkyNzckZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNzk5Mjc3IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA3OTkyNzckdGl0bGUgLCAiIFBNSUQ6IDMwNzk5Mjc3ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDc5OTI3NyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNzk5Mjc3YCoKCmByIFB1Yk1lZF8zMDc5OTI3N2AKCmByIGFkZHRoaXNfaW5saW5lXzMwNzk5Mjc3YAoKYHIgUE1JRF8zMDc5OTI3NyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNzk5Mjc3YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNzk5Mjc3YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA3OTkyNzdgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwODE0MTIwLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDgxNDEyMCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDgxNDEyMCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDgxNDEyMCA8LSBwYXN0ZTAoUE1JRF8zMDgxNDEyMCRqb3VybmFsLCcgJywgUE1JRF8zMDgxNDEyMCR5ZWFyLCAnICcsIFBNSURfMzA4MTQxMjAkbW9udGgsJzsnLCBQTUlEXzMwODE0MTIwJHZvbHVtZSwnKCcsIFBNSURfMzA4MTQxMjAkbnVtYmVyLCcpOicsIFBNSURfMzA4MTQxMjAkcGFnZXMpCgpQdWJNZWRfMzA4MTQxMjAgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDgxNDEyMCRlcHJpbnQpCgpkb2lfMzA4MTQxMjAgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDgxNDEyMCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDgxNDEyMCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDgxNDEyMCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwODE0MTIwIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwODE0MTIwJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDgxNDEyMCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwODE0MTIwJHRpdGxlICwgIiBQTUlEOiAzMDgxNDEyMCAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA4MTQxMjAkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDgxNDEyMGAqCgpgciBQdWJNZWRfMzA4MTQxMjBgCgpgciBhZGR0aGlzX2lubGluZV8zMDgxNDEyMGAKCmByIFBNSURfMzA4MTQxMjAkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDgxNDEyMGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDgxNDEyMGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwODE0MTIwYAoKPC9kZXRhaWxzPgoKLS0tCgpgYGB7ciAzMDc5OTUwNSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA3OTk1MDUgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA3OTk1MDUnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA3OTk1MDUgPC0gcGFzdGUwKFBNSURfMzA3OTk1MDUkam91cm5hbCwnICcsIFBNSURfMzA3OTk1MDUkeWVhciwgJyAnLCBQTUlEXzMwNzk5NTA1JG1vbnRoLCc7JywgUE1JRF8zMDc5OTUwNSR2b2x1bWUsJygnLCBQTUlEXzMwNzk5NTA1JG51bWJlciwnKTonLCBQTUlEXzMwNzk5NTA1JHBhZ2VzKQoKUHViTWVkXzMwNzk5NTA1IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA3OTk1MDUkZXByaW50KQoKZG9pXzMwNzk5NTA1IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA3OTk1MDUkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA3OTk1MDUgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA3OTk1MDUkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDc5OTUwNSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDc5OTUwNSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA3OTk1MDUgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDc5OTUwNSR0aXRsZSAsICIgUE1JRDogMzA3OTk1MDUgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNzk5NTA1JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA3OTk1MDVgKgoKYHIgUHViTWVkXzMwNzk5NTA1YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA3OTk1MDVgCgpgciBQTUlEXzMwNzk5NTA1JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA3OTk1MDVgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA3OTk1MDVgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDc5OTUwNWAKCjwvZGV0YWlscz4KCi0tLQoKYGBge3IgMjk5NjY1MDUsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzI5OTY2NTA1IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzI5OTY2NTA1JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzI5OTY2NTA1IDwtIHBhc3RlMChQTUlEXzI5OTY2NTA1JGpvdXJuYWwsJyAnLCBQTUlEXzI5OTY2NTA1JHllYXIsICcgJywgUE1JRF8yOTk2NjUwNSRtb250aCwnOycsIFBNSURfMjk5NjY1MDUkdm9sdW1lLCcoJywgUE1JRF8yOTk2NjUwNSRudW1iZXIsJyk6JywgUE1JRF8yOTk2NjUwNSRwYWdlcykKClB1Yk1lZF8yOTk2NjUwNSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzI5OTY2NTA1JGVwcmludCkKCmRvaV8yOTk2NjUwNSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzI5OTY2NTA1JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzI5OTY2NTA1IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzI5OTY2NTA1JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMjk5NjY1MDUgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMjk5NjY1MDUkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzI5OTY2NTA1IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMjk5NjY1MDUkdGl0bGUgLCAiIFBNSUQ6IDI5OTY2NTA1ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8yOTk2NjUwNSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzI5OTY2NTA1YCoKCmByIFB1Yk1lZF8yOTk2NjUwNWAKCmByIGFkZHRoaXNfaW5saW5lXzI5OTY2NTA1YAoKYHIgUE1JRF8yOTk2NjUwNSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzI5OTY2NTA1YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzI5OTY2NTA1YAoKYHIgYWx0bWV0cmljQmFkZ2VfMjk5NjY1MDVgCgo8L2RldGFpbHM+CgotLS0KCgotLS0KCi0gKipDb21wYXJpc29uIG9mIFR1bW9yIFJlZ3Jlc3Npb24gR3JhZGluZyBvZiBSZXNpZHVhbCBQYW5jcmVhdGljIER1Y3RhbCBBZGVub2NhcmNpbm9tYSBGb2xsb3dpbmcgTmVvYWRqdXZhbnQgQ2hlbW90aGVyYXB5IFdpdGhvdXQgUmFkaWF0aW9uIFdvdWxkIEZld2VyIFRpZXItU3RyYXRpZmljYXRpb24gQmUgRmF2b3JhYmxlIFRvd2FyZCBTdGFuZGFyZGl6YXRpb24/KioKCmh0dHBzOi8vam91cm5hbHMubHd3LmNvbS9hanNwL0Fic3RyYWN0LzIwMTkvMDMwMDAvQ29tcGFyaXNvbl9vZl9UdW1vcl9SZWdyZXNzaW9uX0dyYWRpbmdfb2ZfUmVzaWR1YWwuNS5hc3B4CgoKLS0tCgotICoqSXNvbGF0ZWQgcHVsbW9uYXJ5IHJlY3VycmVuY2UgYWZ0ZXIgcmVzZWN0aW9uIG9mIHBhbmNyZWF0aWMgY2FuY2VyOiB0aGUgZWZmZWN0IG9mIHBhdGllbnQgZmFjdG9ycyBhbmQgdHJlYXRtZW50IG1vZGFsaXRpZXMgb24gc3Vydml2YWwqKgoKaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL2Ficy9waWkvUzEzNjUxODJYMTkzMDAwMjQKCgotLS0KCi0gKipNREgxIGFuZCBNUFA3IHJlZ3VsYXRlIGF1dG9waGFneSBpbiBwYW5jcmVhdGljIGR1Y3RhbCBhZGVub2NhcmNpbm9tYSoqCgpodHRwOi8vY2FuY2VycmVzLmFhY3Jqb3VybmFscy5vcmcvY29udGVudC9lYXJseS8yMDE5LzAyLzE0LzAwMDgtNTQ3Mi5DQU4tMTgtMjU1My5zaG9ydAoKCi0tLQoKLSAqKkNoYXJhY3RlcmlzdGljcyBhbmQgbG9uZy10ZXJtIHN1cnZpdmFsIG9mIHJlc2VjdGVkIHBhbmNyZWF0aWMgY3lzdGljIG5lb3BsYXNtcyBpbiBGaW5sYW5kLiBUaGUgZmlyc3QgbmF0aW9ud2lkZSByZXRyb3NwZWN0aXZlIGNvaG9ydCBhbmFseXNpcyoqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MxNDI0MzkwMzE5MzAwMzE2CgotLS0KCi0gKipFeCB2aXZvIG9yZ2Fub3R5cGljIGN1bHR1cmUgc3lzdGVtIG9mIHByZWNpc2lvbi1jdXQgc2xpY2VzIG9mIGh1bWFuIHBhbmNyZWF0aWMgZHVjdGFsIGFkZW5vY2FyY2lub21hKioKCmh0dHBzOi8vd3d3Lm5hdHVyZS5jb20vYXJ0aWNsZXMvczQxNTk4LTAxOS0zODYwMy13CgotLS0KCi0gKipEaXJlY3QgSW50ZXJhY3Rpb25zIFdpdGggQ2FuY2VyLUFzc29jaWF0ZWQgRmlicm9ibGFzdHMgTGVhZCB0byBFbmhhbmNlZCBQYW5jcmVhdGljIENhbmNlciBTdGVtIENlbGwgRnVuY3Rpb24qKgoKaHR0cHM6Ly9qb3VybmFscy5sd3cuY29tL3BhbmNyZWFzam91cm5hbC9BYnN0cmFjdC9wdWJsaXNoYWhlYWQvRGlyZWN0X0ludGVyYWN0aW9uc19XaXRoX0NhbmNlcl9Bc3NvY2lhdGVkLjk4NDY0LmFzcHgKCgotLS0KCi0gKipQcmVkaWN0aW9uIG9mIFJlY3VycmVuY2UgV2l0aCBLUkFTIE11dGF0aW9uYWwgQnVyZGVuIFVzaW5nIFVsdHJhc2Vuc2l0aXZlIERpZ2l0YWwgUG9seW1lcmFzZSBDaGFpbiBSZWFjdGlvbiBvZiBSYWRpYWwgUmVzZWN0aW9uIE1hcmdpbiBvZiBSZXNlY3RlZCBQYW5jcmVhdGljIER1Y3RhbCBBZGVub2NhcmNpbm9tYSoqCgpodHRwczovL2pvdXJuYWxzLmx3dy5jb20vcGFuY3JlYXNqb3VybmFsL0Fic3RyYWN0L3B1Ymxpc2hhaGVhZC9QcmVkaWN0aW9uX29mX1JlY3VycmVuY2VfV2l0aF9LUkFTX011dGF0aW9uYWwuOTg0NjguYXNweAoKLS0tCgotICoqVGhlIElMLTEvSUwtMSByZWNlcHRvciBheGlzIGFuZCB0dW1vciBjZWxsIHJlbGVhc2VkIGluZmxhbW1hc29tZSBhZGFwdG9yIEFTQyBhcmUga2V5IHJlZ3VsYXRvcnMgb2YgVFNMUCBzZWNyZXRpb24gYnkgY2FuY2VyIGFzc29jaWF0ZWQgZmlicm9ibGFzdHMgaW4gcGFuY3JlYXRpYyBjYW5jZXIqKgoKaHR0cHM6Ly9qaXRjLmJpb21lZGNlbnRyYWwuY29tL2FydGljbGVzLzEwLjExODYvczQwNDI1LTAxOS0wNTIxLTQKCgotLS0KCi0gKipFeHByZXNzaW9uIGFuZCBDbGluaWNhbCBTaWduaWZpY2FuY2Ugb2YgUHJvdGVpbiBLaW5hc2UgUk5B4oCTTGlrZSBFbmRvcGxhc21pYyBSZXRpY3VsdW0gS2luYXNlIGFuZCBQaG9zcGhvcnlsYXRlZCBFdWthcnlvdGljIEluaXRpYXRpb24gRmFjdG9yIDLOsSBpbiBQYW5jcmVhdGljIER1Y3RhbCBBZGVub2NhcmNpbm9tYSoqCgoKaHR0cHM6Ly9qb3VybmFscy5sd3cuY29tL3BhbmNyZWFzam91cm5hbC9BYnN0cmFjdC9wdWJsaXNoYWhlYWQvRXhwcmVzc2lvbl9hbmRfQ2xpbmljYWxfU2lnbmlmaWNhbmNlX29mX1Byb3RlaW4uOTg0NjMuYXNweAoKCi0tLQoKLSAqKlRoZSBHZW5ldGljIEJhc2lzIG9mIFRyYW5zY3JpcHRpb25hbCBhbmQgU3BhdGlhbCBIZXRlcm9nZW5laXR5IG9mIFNxdWFtb3VzIEZlYXR1cmVzIGluIFBhbmNyZWF0aWMgRHVjdGFsIEFkZW5vY2FyY2lub21hKioKCmh0dHBzOi8vZXVyb3BlcG1jLm9yZy9hYnN0cmFjdC9wcHIvcHByNzAxNjIKCi0tLQoKCi0gKipUaGUgR2VuZXRpYyBCYXNpcyBvZiBUcmFuc2NyaXB0aW9uYWwgYW5kIFNwYXRpYWwgSGV0ZXJvZ2VuZWl0eSBvZiBTcXVhbW91cyBGZWF0dXJlcyBpbiBQYW5jcmVhdGljIER1Y3RhbCBBZGVub2NhcmNpbm9tYSoqCgpodHRwczovL3d3dy5yZXNlYXJjaGdhdGUubmV0L3B1YmxpY2F0aW9uLzMzMTEzMDYyNV9UaGVfR2VuZXRpY19CYXNpc19vZl9UcmFuc2NyaXB0aW9uYWxfYW5kX1NwYXRpYWxfSGV0ZXJvZ2VuZWl0eV9vZl9TcXVhbW91c19GZWF0dXJlc19pbl9QYW5jcmVhdGljX0R1Y3RhbF9BZGVub2NhcmNpbm9tYQoKLS0tCgotICoqUHJlZGljdGlvbiBvZiBSZWN1cnJlbmNlIFdpdGggS1JBUyBNdXRhdGlvbmFsIEJ1cmRlbiBVc2luZyBVbHRyYXNlbnNpdGl2ZSBEaWdpdGFsIFBvbHltZXJhc2UgQ2hhaW4gUmVhY3Rpb24gb2YgUmFkaWFsIFJlc2VjdGlvbiBNYXJnaW4gb2YgUmVzZWN0ZWQgUGFuY3JlYXRpYyBEdWN0YWwgQWRlbm9jYXJjaW5vbWEqKgoKaHR0cHM6Ly93d3cucmVzZWFyY2hnYXRlLm5ldC9wdWJsaWNhdGlvbi8zMzEwNTg2NjJfUHJlZGljdGlvbl9vZl9SZWN1cnJlbmNlX1dpdGhfS1JBU19NdXRhdGlvbmFsX0J1cmRlbl9Vc2luZ19VbHRyYXNlbnNpdGl2ZV9EaWdpdGFsX1BvbHltZXJhc2VfQ2hhaW5fUmVhY3Rpb25fb2ZfUmFkaWFsX1Jlc2VjdGlvbl9NYXJnaW5fb2ZfUmVzZWN0ZWRfUGFuY3JlYXRpY19EdWN0YWxfQWRlbm9jYXJjaW5vbWEKCi0tLQoKLSAqKk1vbGVjdWxhciBzdWJ0eXBlcyBvZiBwYW5jcmVhdGljIGNhbmNlcioqCgpodHRwczovL3d3dy5uYXR1cmUuY29tL2FydGljbGVzL3M0MTU3NS0wMTktMDEwOS15CgoKLS0tCgoKLSAqKkEgY2FzZSBvZiBoaWdo4oCQZ3JhZGUgcGFuY3JlYXRpYyBpbnRyYWVwaXRoZWxpYWwgbmVvcGxhc2lhIGNvbmNvbWl0YW50IHdpdGggdHlwZSAxIGF1dG9pbW11bmUgcGFuY3JlYXRpdGlzOiB0aGUgcHJvY2VzcyB1bmRlcmx5aW5nIGJvdGggY29uZGl0aW9ucyoqCgpodHRwczovL29ubGluZWxpYnJhcnkud2lsZXkuY29tL2RvaS9hYnMvMTAuMTExMS9waW4uMTI3NjgKCgoKLS0tCgotICoqUHJlLWV4aXN0aW5nIEZ1bmN0aW9uYWwgSGV0ZXJvZ2VuZWl0eSBvZiBUdW1vcmlnZW5pYyBDb21wYXJ0bWVudCBhcyB0aGUgT3JpZ2luIG9mIENoZW1vcmVzaXN0YW5jZSBpbiBQYW5jcmVhdGljIFR1bW9ycyoqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MyMjExMTI0NzE5MzAwNjZYCgoKCi0tLQoKLSAqKkludHJhZHVjdGFsIHR1YnVsYXIgcGFwaWxsYXJ5IG5lb3BsYXNtIChJVFBOKSwgYSBub3ZlbCBlbnRpdHkgb2YgcGFuY3JlYXRpYyBlcGl0aGVsaWFsIG5lb3BsYXNtcyBhbmQgcHJlY3Vyc29yIG9mIGNhbmNlcjogQSBjYXNlIHJlcG9ydCBhbmQgcmV2aWV3IG9mIHRoZSBsaXRlcmF0dXJlKioKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzIyMTAyNjEyMTkzMDA0OTUKCi0tLQoKLSAqKkVhcmx5IERldGVjdGlvbiBvZiBQYW5jcmVhdGljIENhbmNlcjogT3Bwb3J0dW5pdGllcyBhbmQgQ2hhbGxlbmdlcyoqCgpodHRwczovL2FjLmVscy1jZG4uY29tL1MwMDE2NTA4NTE5MzAzNTgwLzEtczIuMC1TMDAxNjUwODUxOTMwMzU4MC1tYWluLnBkZj9fdGlkPTUyNTg3MTBmLWJhMGUtNDgwMC05ZjZhLTJjOWIzYTY2ZDJlMCZhY2RuYXQ9MTU0OTU1MDMwNl80ZDFiMDc0OGQ4N2MyZmE5YjU3MjMyYmNjY2EyNGYyNQoKLS0tCgotICoqUGF0aHdheXMgb2YgUHJvZ3Jlc3Npb24gRnJvbSBJbnRyYWR1Y3RhbCBQYXBpbGxhcnkgTXVjaW5vdXMgTmVvcGxhc20gdG8gUGFuY3JlYXRpYyBEdWN0YWwgQWRlbm9jYXJjaW5vbWEgQmFzZWQgb24gTW9sZWN1bGFyIEZlYXR1cmVzKioKCmh0dHBzOi8vd3d3Lmdhc3Ryb2pvdXJuYWwub3JnL2FydGljbGUvUzAwMTYtNTA4NSgxOCkzNTE2MC02L2Z1bGx0ZXh0P2RnY2lkPXJhdmVuX2pic19ldG9jX2VtYWlsJm1vYmlsZVVpPTAmZmJjbGlkPUl3QVIxUFA2bVRMU2xjSWdKWU9CSEU2a1NLSUY1dFhTLTh3UklPNFBFeHlyMGNNeTF5c0VjMDV3dTVnM2MKCi0tLQoKLSAqKkZpYnJvYmxhc3RzIGluIFBhbmNyZWF0aWMgRHVjdGFsIEFkZW5vY2FyY2lub21hOiBiaW9sb2dpY2FsIG1lY2hhbmlzbXMgYW5kIHRoZXJhcGV1dGljIHRhcmdldHMqKgoKaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMDAxNjUwODUxOTMwMzU5MgoKCgotLS0KCi0gKipOYXR1cmFsIEhpc3RvcnkgYW5kIFRyZWF0bWVudCBUcmVuZHMgaW4gUGFuY3JlYXRpYyBDYW5jZXIgU3VidHlwZXMqKgoKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9hcnRpY2xlLzEwLjEwMDcvczExNjA1LTAxOS0wNDExMy0zCgoKLS0tCgotICoqUHJldmFsZW5jZSBvZiBHZXJtbGluZSBNdXRhdGlvbnMgQXNzb2NpYXRlZCB3aXRoIENhbmNlciBSaXNrIGluIFBhdGllbnRzIFdpdGggSW50cmFkdWN0YWwgUGFwaWxsYXJ5IE11Y2lub3VzIE5lb3BsYXNtcyoqCgpodHRwczovL3d3dy5nYXN0cm9qb3VybmFsLm9yZy9hcnRpY2xlL1MwMDE2LTUwODUoMTkpMzAzNTMtMS9mdWxsdGV4dAoKLS0tCgotICoqUFJSWDEgaXNvZm9ybXMgY29vcGVyYXRlIHdpdGggRk9YTTEgdG8gcmVndWxhdGUgdGhlIEROQSBkYW1hZ2UgcmVzcG9uc2UgaW4gcGFuY3JlYXRpYyBjYW5jZXIgY2VsbHMqKgoKaHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDEzODgtMDE5LTA3MjUtNgoKLS0tCgotICoqU2lnbmFsaW5nIE5ldHdvcmtzIHRoYXQgQ29udHJvbCBDZWxsdWxhciBQbGFzdGljaXR5IGluIFBhbmNyZWF0aWMgVHVtb3JpZ2VuZXNpcywgUHJvZ3Jlc3Npb24gYW5kIE1ldGFzdGFzaXMqKgoKaHR0cHM6Ly93d3cuZ2FzdHJvam91cm5hbC5vcmcvYXJ0aWNsZS9TMDAxNi01MDg1KDE5KTMwMzUxLTgvZnVsbHRleHQKCi0tLQoKLSAqKkhlczEgcGxheXMgYW4gZXNzZW50aWFsIHJvbGUgaW4gS3Jhcy1kcml2ZW4gcGFuY3JlYXRpYyB0dW1vcmlnZW5lc2lzKioKCmh0dHBzOi8vd3d3Lm5hdHVyZS5jb20vYXJ0aWNsZXMvczQxMzg4LTAxOS0wNzE4LTUKCi0tLQoKLSAqKkRpYWdub3NpcyBhbmQgTWFuYWdlbWVudCBvZiBQYW5jcmVhdGljIEFkZW5vY2FyY2lub21hIGluIHRoZSBCYWNrZ3JvdW5kIG9mIENocm9uaWMgUGFuY3JlYXRpdGlzOiBDb3JlIElzc3VlcyoqCgpodHRwczovL3d3dy5rYXJnZXIuY29tL0FydGljbGUvQWJzdHJhY3QvNDk2NTA3CgotLS0KCi0gKipNREgxIGFuZCBNUFA3IHJlZ3VsYXRlIGF1dG9waGFneSBpbiBwYW5jcmVhdGljIGR1Y3RhbCBhZGVub2NhcmNpbm9tYSoqCgpodHRwczovL3d3dy5yZXNlYXJjaGdhdGUubmV0L3Byb2ZpbGUvUGFkaG1hbmFuZF9TdWRoYWthcjIvcHVibGljYXRpb24vMzMxMDk5MTkxX01ESDFfYW5kX01QUDdfcmVndWxhdGVfYXV0b3BoYWd5X2luX3BhbmNyZWF0aWNfZHVjdGFsX2FkZW5vY2FyY2lub21hL2xpbmtzLzVjNjVhMTQ5NDU4NTE1ODJjM2U5NWRmNC9NREgxLWFuZC1NUFA3LXJlZ3VsYXRlLWF1dG9waGFneS1pbi1wYW5jcmVhdGljLWR1Y3RhbC1hZGVub2NhcmNpbm9tYS5wZGYKCi0tLQoKLSAqKkN5c3QgRmx1aWQgQmlvc2lnbmF0dXJlIHRvIFByZWRpY3QgSW50cmFkdWN0YWwgUGFwaWxsYXJ5IE11Y2lub3VzIE5lb3BsYXNtcyBvZiB0aGUgUGFuY3JlYXMgd2l0aCBIaWdoIE1hbGlnbmFudCBQb3RlbnRpYWwqKgoKaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMTA3Mjc1MTUxOTMwMTQ5OAoKLS0tCgpgYGB7ciAzMDc5MjA0NiwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA3OTIwNDYgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA3OTIwNDYnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA3OTIwNDYgPC0gcGFzdGUwKFBNSURfMzA3OTIwNDYkam91cm5hbCwnICcsIFBNSURfMzA3OTIwNDYkeWVhciwgJyAnLCBQTUlEXzMwNzkyMDQ2JG1vbnRoLCc7JywgUE1JRF8zMDc5MjA0NiR2b2x1bWUsJygnLCBQTUlEXzMwNzkyMDQ2JG51bWJlciwnKTonLCBQTUlEXzMwNzkyMDQ2JHBhZ2VzKQoKUHViTWVkXzMwNzkyMDQ2IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA3OTIwNDYkZXByaW50KQoKZG9pXzMwNzkyMDQ2IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA3OTIwNDYkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA3OTIwNDYgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA3OTIwNDYkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDc5MjA0NiA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDc5MjA0NiRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA3OTIwNDYgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDc5MjA0NiR0aXRsZSAsICIgUE1JRDogMzA3OTIwNDYgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNzkyMDQ2JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA3OTIwNDZgKgoKYHIgUHViTWVkXzMwNzkyMDQ2YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA3OTIwNDZgCgpgciBQTUlEXzMwNzkyMDQ2JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA3OTIwNDZgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA3OTIwNDZgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDc5MjA0NmAKCjwvZGV0YWlscz4KCgotLS0KCmBgYHtyIDMwNjY4ODg2LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDY2ODg4NiA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDY2ODg4NicsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDY2ODg4NiA8LSBwYXN0ZTAoUE1JRF8zMDY2ODg4NiRqb3VybmFsLCcgJywgUE1JRF8zMDY2ODg4NiR5ZWFyLCAnICcsIFBNSURfMzA2Njg4ODYkbW9udGgsJzsnLCBQTUlEXzMwNjY4ODg2JHZvbHVtZSwnKCcsIFBNSURfMzA2Njg4ODYkbnVtYmVyLCcpOicsIFBNSURfMzA2Njg4ODYkcGFnZXMpCgpQdWJNZWRfMzA2Njg4ODYgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDY2ODg4NiRlcHJpbnQpCgpkb2lfMzA2Njg4ODYgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDY2ODg4NiRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDY2ODg4NiA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDY2ODg4NiRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNjY4ODg2IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNjY4ODg2JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDY2ODg4NiA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNjY4ODg2JHRpdGxlICwgIiBQTUlEOiAzMDY2ODg4NiAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA2Njg4ODYkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDY2ODg4NmAqCgpgciBQdWJNZWRfMzA2Njg4ODZgCgpgciBhZGR0aGlzX2lubGluZV8zMDY2ODg4NmAKCmByIFBNSURfMzA2Njg4ODYkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDY2ODg4NmAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDY2ODg4NmAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNjY4ODg2YAoKPC9kZXRhaWxzPgoKCgoKCgotLS0KCmBgYHtyIDMwNjg2NzY5LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDY4Njc2OSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDY4Njc2OScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDY4Njc2OSA8LSBwYXN0ZTAoUE1JRF8zMDY4Njc2OSRqb3VybmFsLCcgJywgUE1JRF8zMDY4Njc2OSR5ZWFyLCAnICcsIFBNSURfMzA2ODY3NjkkbW9udGgsJzsnLCBQTUlEXzMwNjg2NzY5JHZvbHVtZSwnKCcsIFBNSURfMzA2ODY3NjkkbnVtYmVyLCcpOicsIFBNSURfMzA2ODY3NjkkcGFnZXMpCgpQdWJNZWRfMzA2ODY3NjkgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDY4Njc2OSRlcHJpbnQpCgpkb2lfMzA2ODY3NjkgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDY4Njc2OSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDY4Njc2OSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDY4Njc2OSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNjg2NzY5IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNjg2NzY5JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDY4Njc2OSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNjg2NzY5JHRpdGxlICwgIiBQTUlEOiAzMDY4Njc2OSAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA2ODY3NjkkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDY4Njc2OWAqCgpgciBQdWJNZWRfMzA2ODY3NjlgCgpgciBhZGR0aGlzX2lubGluZV8zMDY4Njc2OWAKCmByIFBNSURfMzA2ODY3NjkkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDY4Njc2OWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDY4Njc2OWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNjg2NzY5YAoKPC9kZXRhaWxzPgoKLS0tCgpgYGB7ciAzMDEzMDY2NCwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAxMzA2NjQgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAxMzA2NjQnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAxMzA2NjQgPC0gcGFzdGUwKFBNSURfMzAxMzA2NjQkam91cm5hbCwnICcsIFBNSURfMzAxMzA2NjQkeWVhciwgJyAnLCBQTUlEXzMwMTMwNjY0JG1vbnRoLCc7JywgUE1JRF8zMDEzMDY2NCR2b2x1bWUsJygnLCBQTUlEXzMwMTMwNjY0JG51bWJlciwnKTonLCBQTUlEXzMwMTMwNjY0JHBhZ2VzKQoKUHViTWVkXzMwMTMwNjY0IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAxMzA2NjQkZXByaW50KQoKZG9pXzMwMTMwNjY0IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAxMzA2NjQkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAxMzA2NjQgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAxMzA2NjQkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDEzMDY2NCA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDEzMDY2NCRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAxMzA2NjQgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDEzMDY2NCR0aXRsZSAsICIgUE1JRDogMzAxMzA2NjQgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMTMwNjY0JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAxMzA2NjRgKgoKYHIgUHViTWVkXzMwMTMwNjY0YAoKYHIgYWRkdGhpc19pbmxpbmVfMzAxMzA2NjRgCgpgciBQTUlEXzMwMTMwNjY0JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAxMzA2NjRgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAxMzA2NjRgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDEzMDY2NGAKCjwvZGV0YWlscz4KCi0tLQoKLSAqKkludGVncmF0aW9uIG9mIEdlbm9taWMgYW5kIFRyYW5zY3JpcHRpb25hbCBGZWF0dXJlcyBpbiBQYW5jcmVhdGljIENhbmNlciBSZXZlYWxzIEluY3JlYXNlZCBDZWxsIEN5Y2xlIFByb2dyZXNzaW9uIGluIE1ldGFzdGFzZXMqKgoKCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzMwNjYzNjEyX0ludGVncmF0aW9uX29mX0dlbm9taWNfYW5kX1RyYW5zY3JpcHRpb25hbF9GZWF0dXJlc19pbl9QYW5jcmVhdGljX0NhbmNlcl9SZXZlYWxzX0luY3JlYXNlZF9DZWxsX0N5Y2xlX1Byb2dyZXNzaW9uX2luX01ldGFzdGFzZXMKCgotLS0KCi0gKipHZXJtbGluZSBCUkNBMiBLMzMyNlggYW5kIENIRUsyIEkxNTdUIE11dGF0aW9ucyBJbmNyZWFzZSBSaXNrIGZvciBTcG9yYWRpYyBQYW5jcmVhdGljIER1Y3RhbCBBZGVub2NhcmNpbm9tYSoqCgpodHRwczovL3d3dy5yZXNlYXJjaGdhdGUubmV0L3B1YmxpY2F0aW9uLzMzMDYwNTUxMV9HZXJtbGluZV9CUkNBMl9LMzMyNlhfYW5kX0NIRUsyX0kxNTdUX011dGF0aW9uc19JbmNyZWFzZV9SaXNrX2Zvcl9TcG9yYWRpY19QYW5jcmVhdGljX0R1Y3RhbF9BZGVub2NhcmNpbm9tYQoKLS0tCgotICoqR2VybWxpbmUgQlJDQTIgSzMzMjZYIGFuZCBDSEVLMiBJMTU3VCBNdXRhdGlvbnMgSW5jcmVhc2UgUmlzayBmb3IgU3BvcmFkaWMgUGFuY3JlYXRpYyBEdWN0YWwgQWRlbm9jYXJjaW5vbWEqKgoKCmh0dHBzOi8vb25saW5lbGlicmFyeS53aWxleS5jb20vZG9pL2Ficy8xMC4xMDAyL2lqYy4zMjEyNwoKLS0tCgoKCgotLS0KCi0gKipNYWluIER1Y3QgRGlsYXRhdGlvbiBJcyB0aGUgQmVzdCBQcmVkaWN0b3Igb2YgSGlnaC1ncmFkZSBEeXNwbGFzaWEgb3IgSW52YXNpb24gaW4gSW50cmFkdWN0YWwgUGFwaWxsYXJ5IE11Y2lub3VzIE5lb3BsYXNtcyBvZiB0aGUgUGFuY3JlYXMqKgoKaHR0cHM6Ly9qb3VybmFscy5sd3cuY29tL2FubmFsc29mc3VyZ2VyeS9BYnN0cmFjdC9wdWJsaXNoYWhlYWQvTWFpbl9EdWN0X0RpbGF0YXRpb25fSXNfdGhlX0Jlc3RfUHJlZGljdG9yX29mLjk1MjQ4LmFzcHgKCgotLS0KCi0gKipUaW1pbmcgQnV0IE5vdCBQYXR0ZXJucyBvZiBSZWN1cnJlbmNlIElzIERpZmZlcmVudCBCZXR3ZWVuIE5vZGUtbmVnYXRpdmUgYW5kIE5vZGUtcG9zaXRpdmUgUmVzZWN0ZWQgUGFuY3JlYXRpYyBDYW5jZXIuKioKCmh0dHBzOi8vZXVyb3BlcG1jLm9yZy9hYnN0cmFjdC9tZWQvMzA2NzI3OTYKCi0tLQoKLSAqKlV0aWxpdHkgb2YgY3l0b21vcnBob2xvZ3kgaW4gZGlzdGluZ3Vpc2hpbmcgc29saWQgcHNldWRvcGFwaWxsYXJ5IG5lb3BsYXNtIG9mIHBhbmNyZWFzIGZyb20gcGFuY3JlYXRpYyBuZXVyb2VuZG9jcmluZSB0dW1vciB3aXRoIGVtcGhhc2lzIG9uIG51Y2xlYXIgZm9sZHMgYW5kIG51Y2xlYXIgZ3Jvb3ZlcyoqCgpodHRwczovL29ubGluZWxpYnJhcnkud2lsZXkuY29tL2RvaS9hYnMvMTAuMTAwMi9kYy4yNDE0NQoKLS0tCgotICoqVEhaMSByZXZlYWxzIENESzctZGVwZW5kZW50IHRyYW5zY3JpcHRpb25hbCBhZGRpY3Rpb25zIGluIHBhbmNyZWF0aWMgY2FuY2VyKioKCgpodHRwczovL3d3dy5uYXR1cmUuY29tL2FydGljbGVzL3M0MTM4OC0wMTktMDcwMS0xCgotLS0KCi0gKipQcmVkaWN0aXZlIGFuZCBQcm9nbm9zdGljIFByb3BlcnRpZXMgb2YgSHVtYW4gRXF1aWxpYnJhdGl2ZSBOdWNsZW9zaWRlIFRyYW5zcG9ydGVyIDEgRXhwcmVzc2lvbiBpbiBHZW1jaXRhYmluZS1UcmVhdGVkIFBhbmNyZWF0b2JpbGlhcnkgQ2FuY2VyOiBBIE1ldGEtQW5hbHlzaXMqKgoKaHR0cDovL2FzY29wdWJzLm9yZy9kb2kvYWJzLzEwLjEyMDAvUE8uMTguMDAyNDAKCgoKCi0tLQoKLSAqKlF1YXNpbWVzZW5jaHltYWwgcGhlbm90eXBlIHByZWRpY3RzIHN5c3RlbWljIG1ldGFzdGFzaXMgaW4gcGFuY3JlYXRpYyBkdWN0YWwgYWRlbm9jYXJjaW5vbWEqKgoKaHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDEzNzktMDE4LTAxOTYtMgoKLS0tCgotICoqU3VyZ2ljYWxseSByZXNlY3RlZCBwYW5jcmVhdGljIG1ldGFzdGFzaXMgZnJvbSBuYXNhbCBtYWxpZ25hbnQgbWVsYW5vbWE6IGNhc2UgcmVwb3J0IGFuZCBsaXRlcmF0dXJlIHJldmlldyoqCgpodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2FydGljbGUvMTAuMTAwNy9zMTIzMjgtMDE5LTAwOTM2LTQKCgotLS0KCi0gKipQcm9nbm9zdGljIFJvbGUgb2YgSGlnaC1HcmFkZSBUdW1vciBCdWRkaW5nIGluIFBhbmNyZWF0aWMgRHVjdGFsIEFkZW5vY2FyY2lub21hOiBBIFN5c3RlbWF0aWMgUmV2aWV3IGFuZCBNZXRhLUFuYWx5c2lzIHdpdGggYSBGb2N1cyBvbiBFcGl0aGVsaWFsIHRvIE1lc2VuY2h5bWFsIFRyYW5zaXRpb24qKgoKaHR0cHM6Ly9yZXMubWRwaS5jb20vY2FuY2Vycy9jYW5jZXJzLTExLTAwMTEzL2FydGljbGVfZGVwbG95L2NhbmNlcnMtMTEtMDAxMTMucGRmCgotLS0KCi0gKipDb21wYXJhdGl2ZSBBY2N1cmFjeSBvZiBUdW1vciBTaXplIEFzc2Vzc21lbnQgYW5kIFN0YWdlIEFuYWx5c2lzIGJ5IEltYWdpbmcgTW9kYWxpdGllcyBWZXJzdXMgR3Jvc3MgRXhhbWluYXRpb24gZm9yIFBhbmNyZWF0aWMgRHVjdGFsIEFkZW5vY2FyY2lub21hKioKCmh0dHBzOi8vam91cm5hbHMubHd3LmNvbS9wYW5jcmVhc2pvdXJuYWwvQWJzdHJhY3QvMjAxOS8wMjAwMC9Db21wYXJhdGl2ZV9BY2N1cmFjeV9vZl9UdW1vcl9TaXplX0Fzc2Vzc21lbnRfYW5kLjEzLmFzcHgKCgoKLS0tCgotICoqQmxvY2tpbmcgQ1hDTHPigJNDWENSMiBheGlzIGluIHR1bW9y4oCTc3Ryb21hbCBpbnRlcmFjdGlvbnMgY29udHJpYnV0ZXMgdG8gc3Vydml2YWwgaW4gYSBtb3VzZSBtb2RlbCBvZiBwYW5jcmVhdGljIGR1Y3RhbCBhZGVub2NhcmNpbm9tYSB0aHJvdWdoIHJlZHVjZWQgY2VsbCBpbnZhc2lvbi9taWdyYXRpb24gYW5kIGEgc2hpZnQgb2YgaW1tdW5lLWluZmxhbW1hdG9yeSBtaWNyb2Vudmlyb25tZW50KioKCmh0dHBzOi8vd3d3Lm5hdHVyZS5jb20vYXJ0aWNsZXMvczQxMzg5LTAxOC0wMTE3LTgKCi0tLQoKLSAqKlBhdGh3YXlzIG9mIFByb2dyZXNzaW9uIEZyb20gSW50cmFkdWN0YWwgUGFwaWxsYXJ5IE11Y2lub3VzIE5lb3BsYXNtIHRvIFBhbmNyZWF0aWMgRHVjdGFsIEFkZW5vY2FyY2lub21hIEJhc2VkIG9uIE1vbGVjdWxhciBGZWF0dXJlcyoqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMDE2NTA4NTE4MzUxNjA2CgoKCgotLS0KCgotICoqUHJvZ25vc3RpYyBSb2xlIG9mIEhpZ2gtR3JhZGUgVHVtb3IgQnVkZGluZyBpbiBQYW5jcmVhdGljIER1Y3RhbCBBZGVub2NhcmNpbm9tYTogQSBTeXN0ZW1hdGljIFJldmlldyBhbmQgTWV0YS1BbmFseXNpcyB3aXRoIGEgRm9jdXMgb24gRXBpdGhlbGlhbCB0byBNZXNlbmNoeW1hbCBUcmFuc2l0aW9uKioKCmh0dHBzOi8vd3d3Lm1kcGkuY29tLzIwNzItNjY5NC8xMS8xLzExMwoKCi0tLQoKLSAqKkV6cmluIHByb21vdGVzIHN0ZW0gY2VsbCBwcm9wZXJ0aWVzIGluIHBhbmNyZWF0aWMgZHVjdGFsIGFkZW5vY2FyY2lub21hKioKCmh0dHA6Ly9tY3IuYWFjcmpvdXJuYWxzLm9yZy9jb250ZW50L2Vhcmx5LzIwMTkvMDEvMTcvMTU0MS03Nzg2Lk1DUi0xOC0wMzY3LmFic3RyYWN0CgoKCgotLS0KCi0gKipFeG9zb21lcyBoYXJib3IgQiBjZWxsIHRhcmdldHMgaW4gcGFuY3JlYXRpYyBhZGVub2NhcmNpbm9tYSBhbmQgZXhlcnQgZGVjb3kgZnVuY3Rpb24gYWdhaW5zdCBjb21wbGVtZW50LW1lZGlhdGVkIGN5dG90b3hpY2l0eSoqCgpodHRwczovL3d3dy5uYXR1cmUuY29tL2FydGljbGVzL3M0MTQ2Ny0wMTgtMDgxMDktNgoKCi0tLQoKLSAqKkltbXVub3RoZXJhcHkgaW4gcGFuY3JlYXRpYyBjYW5jZXI6IG5ldyBob3BlIG9yIG1pc3Npb24gaW1wb3NzaWJsZT8qKgoKaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMDMwNDM4MzUxOTMwMDEzOAoKCi0tLQoKLSAqKk1pY3JvdmVzc2VsIERlbnNpdHkgYW5kIEltcGFjdCBvZiBBbmdpb2dlbmVzaXMgb24gU3Vydml2YWwgb2YgUmVzZWN0ZWQgUGFuY3JlYXRpYyBDYW5jZXIgUGF0aWVudHMgQSBTeXN0ZW1hdGljIFJldmlldyBhbmQgTWV0YS1hbmFseXNpcyoqCgoKaHR0cHM6Ly9qb3VybmFscy5sd3cuY29tL3BhbmNyZWFzam91cm5hbC9BYnN0cmFjdC9wdWJsaXNoYWhlYWQvTWljcm92ZXNzZWxfRGVuc2l0eV9hbmRfSW1wYWN0X29mX0FuZ2lvZ2VuZXNpc19vbi45ODQ4MS5hc3B4CgoKLS0tCgotICoqUkVSMSBlbmhhbmNlcyBjYXJjaW5vZ2VuZXNpcyBhbmQgc3RlbW5lc3Mgb2YgcGFuY3JlYXRpYyBjYW5jZXIgdW5kZXIgaHlwb3hpYyBlbnZpcm9ubWVudCoqCgpodHRwczovL2plY2NyLmJpb21lZGNlbnRyYWwuY29tL2FydGljbGVzLzEwLjExODYvczEzMDQ2LTAxOC0wOTg2LXgKCi0tLQoKCi0gKipTdXJ2aXZhbHMgb2YgcGF0aWVudHMgd2l0aCBzdXJnaWNhbGx5IHRyZWF0ZWQgYW5kIEhpZ2jigJBncmFkZSBwYW5jcmVhdGljIG5ldXJvZW5kb2NyaW5lIGNhcmNpbm9tYXM6IEEgY29tcGFyYXRpdmUgc3R1ZHkgYmV0d2VlbiB0d28gQW1lcmljYW4gSm9pbnQgQ29tbWl0dGVlIG9uIENhbmNlciA4dGggdHVtb3Itbm9kZS1tZXRhc3Rhc2lzIHN0YWdpbmcgc3lzdGVtcyoqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwNzQ4Nzk4MzE5MzAwMTAxCgotLS0KCgotICoqUGFuY3JlYXRpYyBDeXN0aWMgTGVzaW9ucyBpbiBDYXNlcyBvZiBBdXRvaW1tdW5lIFBhbmNyZWF0aXRpcy4qKgoKaHR0cHM6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wdWJtZWQvMzA2NDAyMzIKCgoKLS0tCgotICoqSG93IENhbiBXZSBQcmFjdGljYWxseSBJbXBsZW1lbnQgU2NyZWVuaW5nIGZvciBJbnRyYWR1Y3RhbCBQYXBpbGxhcnkgTXVjaW5vdXMgTmVvcGxhc20gb2YgdGhlIFBhbmNyZWFzIGFzIHRoZSBNYWluIEZvY3VzIGZvciBFYXJseSBEZXRlY3Rpb24gb2YgUGFuY3JlYXRpYyBBZGVub2NhcmNpbm9tYT8qKgoKCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzMwNjQwMjI3CgotLS0KCi0gKipDeXRvbG9naWMgQW5hbHlzaXMgb2YgUGFuY3JlYXRpYyBKdWljZSBJbmNyZWFzZXMgU3BlY2lmaWNpdHkgb2YgRGV0ZWN0aW9uIG9mIE1hbGlnbmFudCBJUE1OIOKAkyBBIFN5c3RlbWF0aWMgUmV2aWV3KioKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzE1NDIzNTY1MTkzMDAwNzIKCgotLS0KCi0gKipVbmRpZmZlcmVudGlhdGVkIGNhcmNpbm9tYSB3aXRoIG9zdGVvY2xhc3QtbGlrZSBnaWFudCBjZWxscyBvZiB0aGUgcGFuY3JlYXMgYXJpc2luZyBmcm9tIGFuIGludHJhZHVjdGFsIHBhcGlsbGFyeSBtdWNpbm91cyBuZW9wbGFzbSoqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MyMjE0MzMwMDE4MzAxNTk3CgoKCi0tLQoKLSAqKk11dGF0aW9uIGFuYWx5c2lzIGJ5IGRlZXAgc2VxdWVuY2luZyBvZiBwYW5jcmVhdGljIGp1aWNlIGZyb20gcGF0aWVudHMgd2l0aCBwYW5jcmVhdGljIGR1Y3RhbCBhZGVub2NhcmNpbm9tYSoqCgpodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2FydGljbGUvMTAuMTE4Ni9zMTI4ODUtMDE4LTUxOTUtNwoKCgotLS0KCi0gKipDRDczIGV4cHJlc3Npb24gaW4gbm9ybWFsIGFuZCBwYXRob2xvZ2ljYWwgaHVtYW4gaGVwYXRvYmlsaW9wYW5jcmVhdGljIHRpc3N1ZXMqKgoKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9hcnRpY2xlLzEwLjEwMDcvczAwMjYyLTAxOC0yMjkwLTEKCi0tLQoKLSAqKkRpYWdub3N0aWMgWWllbGQgRnJvbSBTY3JlZW5pbmcgQXN5bXB0b21hdGljIEluZGl2aWR1YWxzIGF0IEhpZ2ggUmlzayBmb3IgUGFuY3JlYXRpYyBDYW5jZXI6IEEgTWV0YS1hbmFseXNpcyBvZiBDb2hvcnQgU3R1ZGllcyoqCgpodHRwczovL3d3dy5jZ2hqb3VybmFsLm9yZy9hcnRpY2xlL1MxNTQyLTM1NjUoMTgpMzA0OTgtMS9mdWxsdGV4dAoKCi0tLQoKLSAqKkV4cHJlc3Npb24gb2YgZXN0cm9nZW4gcmVjZXB0b3IgYmV0YSBpc29mb3JtcyBpbiBwYW5jcmVhdGljIGFkZW5vY2FyY2lub21hKioKCmh0dHA6Ly93d3cub25jb3RhcmdldC5jb20vaW5kZXgucGhwP2pvdXJuYWw9b25jb3RhcmdldCZwYWdlPWFydGljbGUmb3A9dmlldyZwYXRoJTVCJTVEPTI2NTAzCgotLS0KCgotICoqQ2xpbmljYWwgc2lnbmlmaWNhbmNlIG9mIHJldmlzZWQgbWljcm9zY29waWMgcG9zaXRpdmUgcmVzZWN0aW9uIG1hcmdpbiBzdGF0dXMgaW4gZHVjdGFsIGFkZW5vY2FyY2lub21hIG9mIHBhbmNyZWF0aWMgaGVhZCoqCgpodHRwczovL3d3dy5yZXNlYXJjaGdhdGUubmV0L3B1YmxpY2F0aW9uLzMzMDA2OTE0MV9DbGluaWNhbF9zaWduaWZpY2FuY2Vfb2ZfcmV2aXNlZF9taWNyb3Njb3BpY19wb3NpdGl2ZV9yZXNlY3Rpb25fbWFyZ2luX3N0YXR1c19pbl9kdWN0YWxfYWRlbm9jYXJjaW5vbWFfb2ZfcGFuY3JlYXRpY19oZWFkCgotLS0KCi0gKipQYW5jcmVhdGljIEN5c3RzOiBTaW5pc3RlciBGaW5kaW5ncyBvciBJbmNpZGVudGFsb21hcz8qKgoKaHR0cHM6Ly93d3cucmVzZWFyY2hnYXRlLm5ldC9wdWJsaWNhdGlvbi8zMzAwNDI3MDFfUGFuY3JlYXRpY19DeXN0c19TaW5pc3Rlcl9GaW5kaW5nc19vcl9JbmNpZGVudGFsb21hcwoKCgoKLS0tCgotICoqQ3Jvc3N0YWxrIGJldHdlZW4gdGhlIFR1bW9yIE1pY3JvZW52aXJvbm1lbnQgYW5kIEltbXVuZSBTeXN0ZW0gaW4gUGFuY3JlYXRpYyBEdWN0YWwgQWRlbm9jYXJjaW5vbWE6IFBvdGVudGlhbCBUYXJnZXRzIGZvciBOZXcgVGhlcmFwZXV0aWMgQXBwcm9hY2hlcyoqCgpodHRwczovL3d3dy5yZXNlYXJjaGdhdGUubmV0L3B1YmxpY2F0aW9uLzMyOTc4MTU0NF9Dcm9zc3RhbGtfYmV0d2Vlbl90aGVfVHVtb3JfTWljcm9lbnZpcm9ubWVudF9hbmRfSW1tdW5lX1N5c3RlbV9pbl9QYW5jcmVhdGljX0R1Y3RhbF9BZGVub2NhcmNpbm9tYV9Qb3RlbnRpYWxfVGFyZ2V0c19mb3JfTmV3X1RoZXJhcGV1dGljX0FwcHJvYWNoZXMKCgotLS0KCi0gKipPbmNvZ2VuaWMgS1JBUyBzdXBwb3J0cyBwYW5jcmVhdGljIGNhbmNlciB0aHJvdWdoIHJlZ3VsYXRpb24gb2YgbnVjbGVvdGlkZSBzeW50aGVzaXMqKgoKaHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDE0NjctMDE4LTA3NDcyLTgKCi0tLQoKCgoKLSAqKlN1YnR5cGluZyBvZiBpbnRyYWR1Y3RhbCBwYXBpbGxhcnkgbXVjaW5vdXMgbmVvcGxhc21zIOKAkyBwaXRmYWxscyBvZiBNVUMxIGltbXVub2hpc3RvY2hlbWlzdHJ5KioKCgpodHRwczovL29ubGluZWxpYnJhcnkud2lsZXkuY29tL2RvaS9hYnMvMTAuMTExMS9hcG0uMTI5MDAKCgoKCi0tLQoKLSAqKkRlbHRhTnA2My1kZXBlbmRlbnQgc3VwZXIgZW5oYW5jZXJzIGRlZmluZSBtb2xlY3VsYXIgaWRlbnRpdHkgaW4gcGFuY3JlYXRpYyBjYW5jZXIgYnkgYW4gaW50ZXJjb25uZWN0ZWQgdHJhbnNjcmlwdGlvbiBmYWN0b3IgbmV0d29yayoqCgpodHRwczovL3d3dy5wbmFzLm9yZy9jb250ZW50L2Vhcmx5LzIwMTgvMTIvMTEvMTgxMjkxNTExNi5zaG9ydAoKCgoKLS0tCgoKLSAqKlNpbGVuY2luZyBvZiBNVUMyMCBzdXBwcmVzc2VzIHRoZSBtYWxpZ25hbnQgY2hhcmFjdGVyIG9mIHBhbmNyZWF0aWMgZHVjdGFsIGFkZW5vY2FyY2lub21hIGNlbGxzIHRocm91Z2ggaW5oaWJpdGlvbiBvZiB0aGUgSEdGL01FVCBwYXRod2F5KioKCgpPbmNvZ2VuZSB2b2x1bWUgMzcsIHBhZ2VzIDYwNDHigJM2MDUzICgyMDE4KSAKCmh0dHBzOi8vd3d3Lm5hdHVyZS5jb20vYXJ0aWNsZXMvczQxMzg4LTAxOC0wNDAzLTAKCgotLS0KCi0gKipDb21iYXRpbmcgcGFuY3JlYXRpYyBjYW5jZXIgd2l0aCBQSTNLIHBhdGh3YXkgaW5oaWJpdG9ycyBpbiB0aGUgZXJhIG9mIHBlcnNvbmFsaXNlZCBtZWRpY2luZSoqCgoKaHR0cHM6Ly9ndXQuYm1qLmNvbS9jb250ZW50L2Vhcmx5LzIwMTgvMTEvMDUvZ3V0am5sLTIwMTgtMzE2ODIyCgoKCi0tLQoKLSAqKlRoZSByb2xlIG9mIEdMSS1TT1gyIHNpZ25hbGluZyBheGlzIGZvciBnZW1jaXRhYmluZSByZXNpc3RhbmNlIGluIHBhbmNyZWF0aWMgY2FuY2VyKioKCgpodHRwczovL3d3dy5uYXR1cmUuY29tL2FydGljbGVzL3M0MTM4OC0wMTgtMDU1My0wCgoKLS0tCgotICoqUElOMSBtYWludGFpbnMgcmVkb3ggYmFsYW5jZSB2aWEgdGhlIGMtTXljL05SRjIgYXhpcyB0byBjb3VudGVyYWN0IEtyYXMtaW5kdWNlZCBtaXRvY2hvbmRyaWFsIHJlc3BpcmF0b3J5IGluanVyeSBpbiBwYW5jcmVhdGljIGNhbmNlciBjZWxscyoqCgoKaHR0cDovL2NhbmNlcnJlcy5hYWNyam91cm5hbHMub3JnL2NvbnRlbnQvY2FucmVzL2Vhcmx5LzIwMTgvMTAvMjQvMDAwOC01NDcyLkNBTi0xOC0xOTY4LmZ1bGwucGRmCgoKLS0tCiAgICAKCi0gKipEWVJLMUEgbW9kdWxhdGVzIGMtTUVUIGluIHBhbmNyZWF0aWMgZHVjdGFsIGFkZW5vY2FyY2lub21hIHRvIGRyaXZlIHR1bW91ciBncm93dGgqKgogICAgCmh0dHBzOi8vZ3V0LmJtai5jb20vY29udGVudC9lYXJseS8yMDE4LzEwLzIwL2d1dGpubC0yMDE4LTMxNjEyOAoKCi0tLQoKLSAqKkFEQU0xMiBpcyBhIGNpcmN1bGF0aW5nIG1hcmtlciBmb3Igc3Ryb21hbCBhY3RpdmF0aW9uIGluIHBhbmNyZWF0aWMgY2FuY2VyIGFuZCBwcmVkaWN0cyByZXNwb25zZSB0byBjaGVtb3RoZXJhcHkqKgoKaHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDEzODktMDE4LTAwOTYtOQoKLS0tCgotICoqTmVvZXBpdG9wZSB0YXJnZXRzIG9mIHR1bW91ci1pbmZpbHRyYXRpbmcgbHltcGhvY3l0ZXMgZnJvbSBwYXRpZW50cyB3aXRoIHBhbmNyZWF0aWMgY2FuY2VyKioKCgpodHRwczovL3d3dy5uYXR1cmUuY29tL2FydGljbGVzL3M0MTQxNi0wMTgtMDI2Mi16CgoKLS0tCgoKCi0gKipQYW5jcmVhdGljIGR1Y3RhbCBhZGVub2NhcmNpbm9tYSBoYXJib3JpbmcgbWljcm9zYXRlbGxpdGUgaW5zdGFiaWxpdHkgLyBETkEgbWlzbWF0Y2ggcmVwYWlyIGRlZmljaWVuY3kuIFRvd2FyZHMgcGVyc29uYWxpemVkIG1lZGljaW5lLioqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwOTYwNzQwNDE4MzAxMjQ1CgoKLS0tCgotICoqUGFuY3JlYXRpYyBjYW5jZXIgYXJpc2luZyBpbiB0aGUgcmVtbmFudCBwYW5jcmVhcyBpcyBub3QgYWx3YXlzIGEgcmVsYXBzZSBvZiB0aGUgcHJlY2VkaW5nIHByaW1hcnkqKgoKaHR0cHM6Ly93d3cucmVzZWFyY2hnYXRlLm5ldC9wdWJsaWNhdGlvbi8zMjkxMjI3NDFfUGFuY3JlYXRpY19jYW5jZXJfYXJpc2luZ19pbl90aGVfcmVtbmFudF9wYW5jcmVhc19pc19ub3RfYWx3YXlzX2FfcmVsYXBzZV9vZl90aGVfcHJlY2VkaW5nX3ByaW1hcnkKCi0tLQoKLSAqKlVuZGlmZmVyZW50aWF0ZWQgY2FyY2lub21hIHdpdGggb3N0ZW9jbGFzdC1saWtlIGdpYW50IGNlbGxzIG9mIHBhbmNyZWFzIEEgY2FzZSByZXBvcnQgd2l0aCByZXZpZXcgb2YgdGhlIGNvbXB1dGVkIHRvbW9ncmFwaHkgZmluZGluZ3MqKgoKaHR0cHM6Ly9qb3VybmFscy5sd3cuY29tL21kLWpvdXJuYWwvRnVsbHRleHQvMjAxOC8xMTMwMC9VbmRpZmZlcmVudGlhdGVkX2NhcmNpbm9tYV93aXRoX29zdGVvY2xhc3RfbGlrZS4xMDAuYXNweAoKCi0tLQoKCi0gKipDbGluaWNv4oCQcGF0aG9sb2dpY2FsIGZlYXR1cmVzIGFuZCBzdXJ2aXZhbCBvZiBwYXRpZW50cyB3aXRoIG1hbGlnbmFudCBleG9jcmluZSBwYW5jcmVhdGljIG5lb3BsYXNtczogVGhlIEFDIENhbWFyZ28gQ2FuY2VyIENlbnRlciBleHBlcmllbmNlKioKCmh0dHBzOi8vb25saW5lbGlicmFyeS53aWxleS5jb20vZG9pL2Ficy8xMC4xMDAyL2pzby4yNTMxMgoKCgoKLS0tCgotICoqUm9sZSBvZiBhZGp1dmFudCB0aGVyYXB5IGluIHJlc2VjdGVkIHN0YWdlIElBIHN1YmNlbnRpbWV0ZXIgKFQxYS9UMWIpIHBhbmNyZWF0aWMgY2FuY2VyOiBBZGp1dmFudCB0aGVyYXB5IGZvciBzdWJjZW50aW1ldGVyIFBEQUMqKgoKCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzI5MDc5MzI3X1JvbGVfb2ZfYWRqdXZhbnRfdGhlcmFweV9pbl9yZXNlY3RlZF9zdGFnZV9JQV9zdWJjZW50aW1ldGVyX1QxYVQxYl9wYW5jcmVhdGljX2NhbmNlcl9BZGp1dmFudF90aGVyYXB5X2Zvcl9zdWJjZW50aW1ldGVyX1BEQUMKCgotLS0KCi0gKipJbnRlcm5hdGlvbmFsIFZhbGlkYXRpb24gb2YgdGhlIEVpZ2h0aCBFZGl0aW9uIG9mIHRoZSBBbWVyaWNhbiBKb2ludCBDb21taXR0ZWUgb24gQ2FuY2VyIChBSkNDKSBUTk0gU3RhZ2luZyBTeXN0ZW0gaW4gUGF0aWVudHMgV2l0aCBSZXNlY3RlZCBQYW5jcmVhdGljIENhbmNlcioqCgpbbGlua10oaHR0cHM6Ly93d3cucmVzZWFyY2hnYXRlLm5ldC9wcm9maWxlL01hdHRlb19EZV9QYXN0ZW5hL3B1YmxpY2F0aW9uLzMyODA1MzM2MV9JbnRlcm5hdGlvbmFsX1ZhbGlkYXRpb25fb2ZfdGhlX0VpZ2h0aF9FZGl0aW9uX29mX3RoZV9BbWVyaWNhbl9Kb2ludF9Db21taXR0ZWVfb25fQ2FuY2VyX0FKQ0NfVE5NX1N0YWdpbmdfU3lzdGVtX2luX1BhdGllbnRzX1dpdGhfUmVzZWN0ZWRfUGFuY3JlYXRpY19DYW5jZXIvbGlua3MvNWJjYTEyNWZhNmZkY2MwM2M3OTYwMTc0L0ludGVybmF0aW9uYWwtVmFsaWRhdGlvbi1vZi10aGUtRWlnaHRoLUVkaXRpb24tb2YtdGhlLUFtZXJpY2FuLUpvaW50LUNvbW1pdHRlZS1vbi1DYW5jZXItQUpDQy1UTk0tU3RhZ2luZy1TeXN0ZW0taW4tUGF0aWVudHMtV2l0aC1SZXNlY3RlZC1QYW5jcmVhdGljLUNhbmNlci5wZGYpCgoKCi0tLQoKLSAqKlBhbmNyZWF0aWMgRHVjdGFsIEFkZW5vY2FyY2lub21hIGFuZCBJdHMgUHJlY3Vyc29yIExlc2lvbnM6IEhpc3RvcGF0aG9sb2d5LCBDeXRvcGF0aG9sb2d5LCBhbmQgTW9sZWN1bGFyIFBhdGhvbG9neSoqCgoKaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMDAwMjk0NDAxODMwMTUxMgoKCi0tLQoKCi0gKipEaWFnbm9zdGljIGFuZCBQcm9nbm9zdGljIEltcGFjdCBvZiBOZXV0cm9waGlsLXRvLUx5bXBob2N5dGUgUmF0aW8gZm9yIEludHJhZHVjdGFsIFBhcGlsbGFyeSBNdWNpbm91cyBOZW9wbGFzbXMgb2YgdGhlIFBhbmNyZWFzIFdpdGggSGlnaC1HcmFkZSBEeXNwbGFzaWEgYW5kIEFzc29jaWF0ZWQgSW52YXNpdmUgQ2FyY2lub21hKioKCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzI5MzAyNjYxX0RpYWdub3N0aWNfYW5kX1Byb2dub3N0aWNfSW1wYWN0X29mX05ldXRyb3BoaWwtdG8tTHltcGhvY3l0ZV9SYXRpb19mb3JfSW50cmFkdWN0YWxfUGFwaWxsYXJ5X011Y2lub3VzX05lb3BsYXNtc19vZl90aGVfUGFuY3JlYXNfV2l0aF9IaWdoLUdyYWRlX0R5c3BsYXNpYV9hbmRfQXNzb2NpYXRlZF9JbnZhc2l2ZV9DYXJjaW5vbWEKCgotLS0KCi0gKipUaGUgZWZmaWNhY3kgYW5kIHNhZmV0eSBvZiBlbmRvc2NvcGljIHVsdHJhc291bmQtZ3VpZGVkIGFibGF0aW9uIG9mIHBhbmNyZWF0aWMgY3lzdHMgd2l0aCBhbGNvaG9sIGFuZCBwYWNsaXRheGVsIGEgc3lzdGVtYXRpYyByZXZpZXcqKgoKCmh0dHBzOi8vam91cm5hbHMubHd3LmNvbS9ldXJvamdoL0Fic3RyYWN0LzIwMTkvMDEwMDAvVGhlX2VmZmljYWN5X2FuZF9zYWZldHlfb2ZfZW5kb3Njb3BpYy4xLmFzcHgKCgotLS0KCi0gKipJbnRyYWR1Y3RhbCBwYXBpbGxhcnkgbXVjaW5vdXMgbmVvcGxhc20gY29tcGxpY2F0ZWQgYnkgYSBnYXN0cm9wYW5jcmVhdGljIGZpc3R1bGEqKgoKaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMTkzMDA0MzMxODMwMzczWAoKLS0tCgoKLSAqKlJpc2sgb2YgYWR2YW5jZWQgbGVzaW9ucyBpbiBwYXRpZW50cyB3aXRoIGJyYW5jaC1kdWN0IElQTU4gYW5kIHJlbGF0aXZlIGluZGljYXRpb25zIGZvciBzdXJnZXJ5IGFjY29yZGluZyB0byBFdXJvcGVhbiBldmlkZW5jZS1iYXNlZCBndWlkZWxpbmVzKioKCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MxNTkwODY1ODE4MzEyNjcyCgoKCi0tLQoKCgotICoqVGhlIFBhcmFkb3hpY2FsIFdlYiBvZiBQYW5jcmVhdGljIENhbmNlciBUdW1vciBNaWNyb2Vudmlyb25tZW50KioKCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMDAyOTQ0MDE4MzAxNTYxCgoKCgotLS0KCgotICoqSW1tdW5vc3VwcHJlc3NpdmUgzrJpZy1oMyBsaW5rcyB0dW1vdXIgc3Ryb21hIGFuZCBkeXNmdW5jdGlvbmFsIFQgY2VsbHMgaW4gcGFuY3JlYXRpYyBjYW5jZXIqKgoKaHR0cHM6Ly9ndXQuYm1qLmNvbS9jb250ZW50L2Vhcmx5LzIwMTgvMTIvMDcvZ3V0am5sLTIwMTgtMzE3NzM1CgoKLS0tCgoKLSAqKlByaW1vcmRpYWwgZ2VybSBjZWxscyBhcyBhIHBvdGVudGlhbCBzaGFyZWQgY2VsbCBvZiBvcmlnaW4gZm9yIG11Y2lub3VzIGN5c3RpYyBuZW9wbGFzbXMgb2YgdGhlIHBhbmNyZWFzIGFuZCBtdWNpbm91cyBvdmFyaWFuIHR1bW9ycyoqCgpodHRwczovL3d3dy5yZXNlYXJjaGdhdGUubmV0L3B1YmxpY2F0aW9uLzMyNzc1NzQxM19Qcmltb3JkaWFsX2dlcm1fY2VsbHNfYXNfYV9wb3RlbnRpYWxfc2hhcmVkX2NlbGxfb2Zfb3JpZ2luX2Zvcl9tdWNpbm91c19jeXN0aWNfbmVvcGxhc21zX29mX3RoZV9wYW5jcmVhc19hbmRfbXVjaW5vdXNfb3Zhcmlhbl90dW1vcnMKCgotLS0KCgoKLSAqKlBhbmNyZWF0aWMgQ2hvcmlzdG9tYSBpbiBhIENhbmluZSBHYWxsYmxhZGRlcioqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMDIxOTk3NTE4MzAyMDIwCgoKLS0tCgoKCgotICoqVHVtZWZhY3RpdmUgSW5mbGFtbWF0b3J5IERpc2Vhc2VzIG9mIHRoZSBQYW5jcmVhcyoqCgoKaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMDAwMjk0NDAxODMwMjAyNQoKCgotLS0KCi0gKipQYW5jcmVhdGljIGN5c3RpYyB0dW1vcnMgYW4gdXBkYXRlKioKCmh0dHBzOi8vam91cm5hbHMubHd3LmNvbS9qcGFuY3JlYXRvbG9neS9GdWxsdGV4dC8yMDE4LzEyMDAwL1BhbmNyZWF0aWNfY3lzdGljX3R1bW9yc19fYW5fdXBkYXRlLjIuYXNweAoKCi0tLQoKLSAqKkNyb3NzdGFsayBiZXR3ZWVuIHRoZSBUdW1vciBNaWNyb2Vudmlyb25tZW50IGFuZCBJbW11bmUgU3lzdGVtIGluIFBhbmNyZWF0aWMgRHVjdGFsIEFkZW5vY2FyY2lub21hOiBQb3RlbnRpYWwgVGFyZ2V0cyBmb3IgTmV3IFRoZXJhcGV1dGljIEFwcHJvYWNoZXMqKgoKaHR0cHM6Ly93d3cuaGluZGF3aS5jb20vam91cm5hbHMvZ3JwLzIwMTgvNzUzMDYxOS8KCi0tLQoKLSAqKlB5bG9yaWMgR2xhbmQgQWRlbm9tYSBvZiBHYWxsYmxhZGRlcjogQSBSZXZpZXcgb2YgRGlhZ25vc2lzIGFuZCBNYW5hZ2VtZW50KioKCmh0dHBzOi8vd3d3LmhpbmRhd2kuY29tL2pvdXJuYWxzL2FtZWQvMjAxOC83NTM5Njk0LwoKLS0tCgotICoqTG9zcyBvZiBLRE02QSBjaGFyYWN0ZXJpemVzIGEgcG9vciBwcm9nbm9zdGljIHN1YnR5cGUgb2YgaHVtYW4gcGFuY3JlYXRpYyBjYW5jZXIgYW5kIHBvdGVudGlhdGVzIEhEQUMgaW5oaWJpdG9yIGxldGhhbGl0eSoqCgpodHRwczovL29ubGluZWxpYnJhcnkud2lsZXkuY29tL2RvaS9hYnMvMTAuMTAwMi9pamMuMzIwNzIKCi0tLQoKLSAqKlRoZSBkdWFsIHJvbGUgb2YgSE1HQjEgaW4gcGFuY3JlYXRpYyBjYW5jZXIqKgoKaHR0cHM6Ly9qb3VybmFscy5sd3cuY29tL2pwYW5jcmVhdG9sb2d5L0Z1bGx0ZXh0LzIwMTgvMTIwMDAvVGhlX2R1YWxfcm9sZV9vZl9ITUdCMV9pbl9wYW5jcmVhdGljX2NhbmNlci4zLmFzcHgKCi0tLQoKLSAqKkEgc3lzdGVtYXRpYyBhc3Nlc3NtZW50IG9mIHN0YXRpc3RpY3MsIHJpc2sgZmFjdG9ycywgYW5kIHVuZGVybHlpbmcgZmVhdHVyZXMgaW52b2x2ZWQgaW4gcGFuY3JlYXRpYyBjYW5jZXIqKgoKaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMTg3Nzc4MjExODMwNTEwMQoKCi0tLQoKCi0gKipDeXRvcGF0aG9sb2dpY2FsIHJlc3VsdHMgb2YgaW5pdGlhbCBlbmRvc2NvcGljIHVsdHJhc291bmTigJBndWlkZWQgZmluZSBuZWVkbGUgYXNwaXJhdGlvbiBmb3IgcHJpbWFyeSBtYXNzIGFuZCBwcm9nbm9zaXMgaW4gcGFuY3JlYXRpYyBjYW5jZXIgcGF0aWVudHMqKgoKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvMTAuMTExMS9jeXQuMTI2NzUKCi0tLQoKLSAqKkFuYWx5c2lzIG9mIGR5bmFtaWMgbW9sZWN1bGFyIG5ldHdvcmtzIGZvciBwYW5jcmVhdGljIGR1Y3RhbCBhZGVub2NhcmNpbm9tYSBwcm9ncmVzc2lvbioqCgpodHRwczovL2NhbmNlcmNpLmJpb21lZGNlbnRyYWwuY29tL2FydGljbGVzLzEwLjExODYvczEyOTM1LTAxOC0wNzE4LTUKCi0tLQoKCi0gKipVdGlsaXppbmcgY2VsbCBsaW5lLWRlcml2ZWQgb3JnYW5vaWRzIHRvIGV2YWx1YXRlIHRoZSBlZmZpY2FjeSBvZiBhICBub3ZlbCBMSUZSLWluaGliaXRvciwgRUMzNTkgaW4gdGFyZ2V0aW5nIHBhbmNyZWF0aWMgdHVtb3Igc3Ryb21hKioKCmh0dHA6Ly93d3cuaW1wYWN0am91cm5hbHMuY29tL0dlbmVzJkNhbmNlci9maWxlcy9wYXBlcnMvMS8xODQvMTg0LnBkZgoKCi0tLQoKLSAqKkNhbmNlci1hc3NvY2lhdGVkIGFjaW5hci10by1kdWN0YWwgbWV0YXBsYXNpYSB3aXRoaW4gdGhlIGludmFzaXZlIGZyb250IG9mIHBhbmNyZWF0aWMgY2FuY2VyIGNvbnRyaWJ1dGVzIHRvIGxvY2FsIGludmFzaW9uKioKCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMzA0MzgzNTE4MzA3MjAxCgoKLS0tCgotICoqRXhwcmVzc2lvbiBvZiBlc3Ryb2dlbiByZWNlcHRvciBiZXRhIGlzb2Zvcm1zIGluIHBhbmNyZWF0aWMgYWRlbm9jYXJjaW5vbWEqKgoKW0RlY2VtYmVyIDIwMThPbmNvdGFyZ2V0IDkoMTAyKSBET0k6IDEwLjE4NjMyL29uY290YXJnZXQuMjY1MDNdKGh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzI5OTgwMTcyX0V4cHJlc3Npb25fb2ZfZXN0cm9nZW5fcmVjZXB0b3JfYmV0YV9pc29mb3Jtc19pbl9wYW5jcmVhdGljX2FkZW5vY2FyY2lub21hKQoKCi0tLQoKLSAqKk1lc2VuY2h5bWFsIGNob25kcm9zYXJjb21hIG1ldGFzdGFzaXNpbmcgdG8gdGhlIHBhbmNyZWFzKioKCgpodHRwczovL2Nhc2VyZXBvcnRzLmJtai5jb20vY29udGVudC8xMS8xL2UyMjYzNjkKCi0tLQoKLSAqKlBJSzNDQSBpbiBLcmFzIEcxMkQvVHJwNTMgUjE3MkggVHVtb3IgQ2VsbHMgUHJvbW90ZXMgSW1tdW5lIEV2YXNpb24gYnkgTGltaXRpbmcgSW5maWx0cmF0aW9uIG9mIFQgQ2VsbHMgaW4gYSBNb2RlbCBvZiBQYW5jcmVhdGljIENhbmNlcioqCgpodHRwczovL3d3dy5iaW9yeGl2Lm9yZy9jb250ZW50L2Jpb3J4aXYvZWFybHkvMjAxOS8wMS8xNS81MjE4MzEuZnVsbC5wZGYKCgotICoqQXBwcm9wcmlhdGVuZXNzIG9mIHBhbmNyZWF0aWMgcmVzZWN0aW9uIGluIGhpZ2gtcmlzayBpbmRpdmlkdWFscyBmb3IgZmFtaWxpYWwgcGFuY3JlYXRpYyBkdWN0YWwgYWRlbm9jYXJjaW5vbWE6IGEgcGF0aWVudC1sZXZlbCBtZXRhLWFuYWx5c2lzIGFuZCBwcm9wb3NpdGlvbiBvZiB0aGUgQmVhdWpvbiBzY29yZSoqCgpodHRwczovL2pvdXJuYWxzLnNhZ2VwdWIuY29tL2RvaS9wZGYvMTAuMTE3Ny8yMDUwNjQwNjE4ODI0OTEwCgotLS0KCi0gKipQYW5jcmVhdGljIGNhbmNlciBtaWNyb2Vudmlyb25tZW50OiBhIGN1cnJlbnQgZGlsZW1tYSoqCgpodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2FydGljbGUvMTAuMTE4Ni9zNDAxNjktMDE5LTAyMjEtMQoKLS0tCgotICoqQXJlIEJSQ0ExIGFuZCBCUkNBMiBnZW5lIG11dGF0aW9uIHBhdGllbnRzIHVuZGVyc2NyZWVuZWQgZm9yIHBhbmNyZWF0aWMgYWRlbm9jYXJjaW5vbWE/KioKCmh0dHBzOi8vb25saW5lbGlicmFyeS53aWxleS5jb20vZG9pLzEwLjEwMDIvanNvLjI1Mzc2CgotLS0KCi0gKipLcmFzRzEyRCBtdXRhdGlvbiBjb250cmlidXRlcyB0byByZWd1bGF0b3J5IFQgY2VsbCBjb252ZXJzaW9uIHRocm91Z2ggYWN0aXZhdGlvbiBvZiB0aGUgTUVLL0VSSyBwYXRod2F5IGluIHBhbmNyZWF0aWMgY2FuY2VyKioKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzAzMDQzODM1MTkzMDAyNTQKCgotLS0KCi0gKipEZXRlcm1pbmluZyB0aGUgb3B0aW1hbCBudW1iZXIgb2YgZXhhbWluZWQgbHltcGggbm9kZXMgZm9yIGFjY3VyYXRlIHN0YWdpbmcgb2YgcGFuY3JlYXRpYyBjYW5jZXI6IEFuIGFuYWx5c2lzIHVzaW5nIHRoZSBub2RhbCBzdGFnaW5nIHNjb3JlIG1vZGVsKioKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzA3NDg3OTgzMTkzMDA0MTEKCi0tLQoKLSAqKkdlbmV0aWNzIG9mIEZhbWlsaWFsIGFuZCBTcG9yYWRpYyBQYW5jcmVhdGljIENhbmNlcioqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMDE2NTA4NTE5MzAwNTYzCgotLS0KCgotICoqTHltcGhvZXBpdGhlbGlhbCBjeXN0IG9mIHRoZSBwYW5jcmVhczogQSBjYXNlIHJlcG9ydCBhbmQgc3VtbWFyeSBvZiBpbWFnaW5nIGZlYXR1cmVzIG9mIHBhbmNyZWF0aWMgY3lzdHMqKgoKaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMjIxMDI2MTIxOTMwMDMzMQoKLS0tCgpgYGB7ciAzMDcwMjYyOCwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA3MDI2MjggPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA3MDI2MjgnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA3MDI2MjggPC0gcGFzdGUwKFBNSURfMzA3MDI2Mjgkam91cm5hbCwnICcsIFBNSURfMzA3MDI2MjgkeWVhciwgJyAnLCBQTUlEXzMwNzAyNjI4JG1vbnRoLCc7JywgUE1JRF8zMDcwMjYyOCR2b2x1bWUsJygnLCBQTUlEXzMwNzAyNjI4JG51bWJlciwnKTonLCBQTUlEXzMwNzAyNjI4JHBhZ2VzKQoKUHViTWVkXzMwNzAyNjI4IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA3MDI2MjgkZXByaW50KQoKZG9pXzMwNzAyNjI4IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA3MDI2MjgkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA3MDI2MjggPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA3MDI2MjgkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDcwMjYyOCA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDcwMjYyOCRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA3MDI2MjggPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDcwMjYyOCR0aXRsZSAsICIgUE1JRDogMzA3MDI2MjggIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNzAyNjI4JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA3MDI2MjhgKgoKYHIgUHViTWVkXzMwNzAyNjI4YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA3MDI2MjhgCgpgciBQTUlEXzMwNzAyNjI4JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA3MDI2MjhgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA3MDI2MjhgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDcwMjYyOGAKCjwvZGV0YWlscz4KCi0tLQoKLSAqKkRldmVsb3BtZW50IG9mIGEgQ2xhc3MgUHJlZGljdGlvbiBNb2RlbCB0byBEaXNjcmltaW5hdGUgUGFuY3JlYXRpYyBEdWN0YWwgQWRlbm9jYXJjaW5vbWEgZnJvbSBQYW5jcmVhdGljIE5ldXJvZW5kb2NyaW5lIFR1bW9yIGJ5IE1BTERJIE1hc3MgU3BlY3Ryb21ldHJ5IEltYWdpbmcqKgoKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvYWJzLzEwLjEwMDIvcHJjYS4yMDE4MDAwNDYKCi0tLQoKLSAqKkJhY2sgQ292ZXI6IERldmVsb3BtZW50IG9mIGEgQ2xhc3MgUHJlZGljdGlvbiBNb2RlbCB0byBEaXNjcmltaW5hdGUgUGFuY3JlYXRpYyBEdWN0YWwgQWRlbm9jYXJjaW5vbWEgZnJvbSBQYW5jcmVhdGljIE5ldXJvZW5kb2NyaW5lIFR1bW9yIGJ5IE1BTERJIE1hc3MgU3BlY3Ryb21ldHJ5IEltYWdpbmcqKgoKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvYWJzLzEwLjEwMDIvcHJjYS4yMDE5NzAwMTMKCi0tLQoKYGBge3IgMzA3MTYzMjAsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNzE2MzIwIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNzE2MzIwJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNzE2MzIwIDwtIHBhc3RlMChQTUlEXzMwNzE2MzIwJGpvdXJuYWwsJyAnLCBQTUlEXzMwNzE2MzIwJHllYXIsICcgJywgUE1JRF8zMDcxNjMyMCRtb250aCwnOycsIFBNSURfMzA3MTYzMjAkdm9sdW1lLCcoJywgUE1JRF8zMDcxNjMyMCRudW1iZXIsJyk6JywgUE1JRF8zMDcxNjMyMCRwYWdlcykKClB1Yk1lZF8zMDcxNjMyMCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNzE2MzIwJGVwcmludCkKCmRvaV8zMDcxNjMyMCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNzE2MzIwJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNzE2MzIwIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNzE2MzIwJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA3MTYzMjAgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA3MTYzMjAkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNzE2MzIwIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA3MTYzMjAkdGl0bGUgLCAiIFBNSUQ6IDMwNzE2MzIwICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDcxNjMyMCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNzE2MzIwYCoKCmByIFB1Yk1lZF8zMDcxNjMyMGAKCmByIGFkZHRoaXNfaW5saW5lXzMwNzE2MzIwYAoKYHIgUE1JRF8zMDcxNjMyMCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNzE2MzIwYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNzE2MzIwYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA3MTYzMjBgCgo8L2RldGFpbHM+CgotLS0KCi0gKipHZW5vbWljIFByb2ZpbGluZyBpbiBQYW5jcmVhdGljIER1Y3RhbCBBZGVub2NhcmNpbm9tYSBhbmQgYSBQYXRod2F5IHRvd2FyZHMgVGhlcmFweSBJbmRpdmlkdWFsaXphdGlvbjogQSBTY29waW5nIFJldmlldyoqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMzA1NzM3MjE5MzAwNTE5CgotLS0KCi0gKipHZW5vbWUtd2lkZSBDUklTUFIgc2NyZWVuIHJldmVhbHMgUFNNQTYgdG8gYmUgYW4gZXNzZW50aWFsIGdlbmUgaW4gcGFuY3JlYXRpYyBjYW5jZXIgY2VsbHMqKgoKaHR0cHM6Ly9ibWNjYW5jZXIuYmlvbWVkY2VudHJhbC5jb20vYXJ0aWNsZXMvMTAuMTE4Ni9zMTI4ODUtMDE5LTU0NTUtMQoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCiMjIyBCaWxlIER1Y3RzCgpHYWxsYmxhZGRlciBQb2x5cHM6IFJhcmUgTGVzaW9ucyBpbiBDaGlsZGhvb2QuCgpodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC8zMDg4OTEyMwoKTW9sZWN1bGFyIFBlcnR1cmJhdGlvbnMgaW4gQ2hvbGFuZ2lvY2FyY2lub21hOiBJcyBpdCBUaW1lIGZvciBQcmVjaXNpb24gTWVkaWNpbmU/CgpodHRwczovL29ubGluZWxpYnJhcnkud2lsZXkuY29tL2RvaS9hYnMvMTAuMTExMS9saXYuMTQwODUKCgpQcmVvcGVyYXRpdmUgZGlhZ25vc2lzIG9mIHdlbGwtZGlmZmVyZW50aWF0ZWQgbmV1cm9lbmRvY3JpbmUgdHVtb3IgaW4gY29tbW9uIGhlcGF0aWMgZHVjdCBieSBicnVzaCBjeXRvbG9neTogQSBjYXNlIHJlcG9ydC4KCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzMwODg0MjAwCgotLS0KCk1BQ0MxIHByb21vdGVzIGFuZ2lvZ2VuZXNpcyBpbiBjaG9sYW5naW9jYXJjaW5vbWEgYnkgdXByZWd1bGF0aW5nIFZFR0ZBLgoKaHR0cHM6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wdWJtZWQvMzA4ODEwNDEKCgotLS0KCi0gKipUcmVuZHMgaW4gdGhlIEluY2lkZW5jZSwgVHJlYXRtZW50IGFuZCBPdXRjb21lcyBvZiBQYXRpZW50cyB3aXRoIEludHJhaGVwYXRpYyBDaG9sYW5naW9jYXJjaW5vbWEgaW4gdGhlIFVTQTogRmFjaWxpdHkgVHlwZSBpcyBBc3NvY2lhdGVkIHdpdGggTWFyZ2luIFN0YXR1cywgVXNlIG9mIEx5bXBoYWRlbmVjdG9teSBhbmQgT3ZlcmFsbCBTdXJ2aXZhbCoqCgpodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2FydGljbGUvMTAuMTAwNy9zMDAyNjgtMDE5LTA0OTY2LTQKCgotLS0KCi0gKipQcmVtYWxpZ25hbnQgTGVzaW9ucyBvZiB0aGUgQmlsaWFyeSBUcmFjdCoqCgpodHRwczovL3d3dy5zdXJnaWNhbC50aGVjbGluaWNzLmNvbS9hcnRpY2xlL1MwMDM5LTYxMDkoMTgpMzAxNzAtMS9hYnN0cmFjdAoKCi0tLQoKLSAqKkNob2xhbmdpb2xvY2VsbHVsYXIgQ2FyY2lub21hIFdpdGgg4oCcRHVjdGFsIFBsYXRlIE1hbGZvcm1hdGlvbuKAnSBQYXR0ZXJuIE1heSBCZSBDaGFyYWN0ZXJpemVkIGJ5IEFSSUQxQSBHZW5ldGljIEFsdGVyYXRpb25zKioKCmh0dHBzOi8vam91cm5hbHMubHd3LmNvbS9hanNwL0Fic3RyYWN0LzIwMTkvMDMwMDAvQ2hvbGFuZ2lvbG9jZWxsdWxhcl9DYXJjaW5vbWFfV2l0aF9fRHVjdGFsX1BsYXRlLjcuYXNweAoKLS0tCgpgYGB7ciAzMDY5MzQ1MSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA2OTM0NTEgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA2OTM0NTEnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA2OTM0NTEgPC0gcGFzdGUwKFBNSURfMzA2OTM0NTEkam91cm5hbCwnICcsIFBNSURfMzA2OTM0NTEkeWVhciwgJyAnLCBQTUlEXzMwNjkzNDUxJG1vbnRoLCc7JywgUE1JRF8zMDY5MzQ1MSR2b2x1bWUsJygnLCBQTUlEXzMwNjkzNDUxJG51bWJlciwnKTonLCBQTUlEXzMwNjkzNDUxJHBhZ2VzKQoKUHViTWVkXzMwNjkzNDUxIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA2OTM0NTEkZXByaW50KQoKZG9pXzMwNjkzNDUxIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA2OTM0NTEkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA2OTM0NTEgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA2OTM0NTEkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDY5MzQ1MSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDY5MzQ1MSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA2OTM0NTEgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDY5MzQ1MSR0aXRsZSAsICIgUE1JRDogMzA2OTM0NTEgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNjkzNDUxJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA2OTM0NTFgKgoKYHIgUHViTWVkXzMwNjkzNDUxYAoKYHIgYWRkdGhpc19pbmxpbmVfMzA2OTM0NTFgCgpgciBQTUlEXzMwNjkzNDUxJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA2OTM0NTFgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA2OTM0NTFgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDY5MzQ1MWAKCjwvZGV0YWlscz4KCi0tLQoKLSAqKlByb3Bvc2FsIGZvciBhIG5ldyBjbGFzc2lmaWNhdGlvbiBmb3IgcGVyaWhpbGFyIGNob2xhbmdpb2NhcmNpbm9tYSBiYXNlZCBvbiB0dW1vdXIgZGVwdGgqKgoKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvYWJzLzEwLjEwMDIvYmpzLjExMDYzCgoKLS0tCgotICoqSW1wYWN0IG9mIFR1bW91ciBCdWRkaW5nIEdyYWRlIGluIDMxMCBQYXRpZW50cyBXaG8gVW5kZXJ3ZW50IFN1cmdpY2FsIFJlc2VjdGlvbiBmb3IgRXh0cmFoZXBhdGljIENob2xhbmdpb2NhcmNpbm9tYSoqCgpodHRwczovL29ubGluZWxpYnJhcnkud2lsZXkuY29tL2RvaS9hYnMvMTAuMTExMS9oaXMuMTM4Mjc/YWY9UgoKCi0tLQoKLSAqKkltcGFjdCBvZiBUdW1vdXIgQnVkZGluZyBHcmFkZSBpbiAzMTAgUGF0aWVudHMgV2hvIFVuZGVyd2VudCBTdXJnaWNhbCBSZXNlY3Rpb24gZm9yIEV4dHJhaGVwYXRpYyBDaG9sYW5naW9jYXJjaW5vbWEqKgoKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvYWJzLzEwLjExMTEvaGlzLjEzODI3P2FmPVIKCi0tLQoKLSAqKkltcGFjdCBvZiBUdW1vciBMb2NhdGlvbiBvbiBQb3N0b3BlcmF0aXZlIE91dGNvbWUgb2YgSW50cmFkdWN0YWwgUGFwaWxsYXJ5IE5lb3BsYXNtIG9mIHRoZSBCaWxlIER1Y3QqKgoKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9hcnRpY2xlLzEwLjEwMDcvczAwMjY4LTAxOS0wNDkxMy0zCgotLS0KCi0gKipNdWNpbm91cyBjeXN0aWMgbmVvcGxhc20gb2YgdGhlIGxpdmVyIHdpdGggYmlsaWFyeSBjb21tdW5pY2F0aW9uOiBhbiBleGNlcHRpb24gdG8gdGhlIGN1cnJlbnQgY2xhc3NpZmljYXRpb24qKgoKaHR0cHM6Ly9jYXNlcmVwb3J0cy5ibWouY29tL2NvbnRlbnQvMTIvMS9iY3ItMjAxOC0yMjcwNjMuYWJzdHJhY3QKCgotLS0KCi0gKipPdXRjb21lIERldGVybWluaW5nIEZhY3RvcnMgb2YgSW50cmFkdWN0YWwgUGFwaWxsYXJ5IE5lb3BsYXNtIG9mIHRoZSBCaWxpYXJ5IFRyYWN0IChJUE5CKeKAlGEgU2luZ2xlIENlbnRlciBTdXJ2ZXkgYW5kIEFuYWx5c2lzIG9mIEN1cnJlbnQgTGl0ZXJhdHVyZSoqCgpodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2FydGljbGUvMTAuMTAwNy9zMTIwMjktMDE4LTAwMTk5LTEKCgotLS0KCi0gKipBbiBhdXRvcHN5IGNhc2Ugb2YgcHJpbWFyeSBleHRyYW5vZGFsIE5LL1QgY2VsbCBseW1waG9tYSAoZXh0cmFub2RhbCBOSy9ULWNlbGwgbHltcGhvbWEpIG9mIHRoZSBiaWxlIGR1Y3QqKgoKCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzMwMDk2MTE3X0FuX2F1dG9wc3lfY2FzZV9vZl9wcmltYXJ5X2V4dHJhbm9kYWxfTktUX2NlbGxfbHltcGhvbWFfZXh0cmFub2RhbF9OS1QtY2VsbF9seW1waG9tYV9vZl90aGVfYmlsZV9kdWN0CgoKLS0tCgoKCi0gKipJbnRyYWR1Y3RhbCBQYXBpbGxhcnkgTmVvcGxhc20gb2YgdGhlIEJpbGUgRHVjdDogQXNzZXNzbWVudCBvZiBJbnZhc2l2ZSBDYXJjaW5vbWEgYW5kIExvbmctVGVybSBPdXRjb21lcyB1c2luZyBNUkkqKgoKCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzI5NjY0NzI3X0ludHJhZHVjdGFsX1BhcGlsbGFyeV9OZW9wbGFzbV9vZl90aGVfQmlsZV9EdWN0X0Fzc2Vzc21lbnRfb2ZfSW52YXNpdmVfQ2FyY2lub21hX2FuZF9Mb25nLVRlcm1fT3V0Y29tZXNfdXNpbmdfTVJJCgotLS0KCgotICoqSGV0ZXJvdG9waWMgY2hvbmRyb2lkIHRpc3N1ZSBvZiB0aGUgbWFpbiBiaWxlIGR1Y3QgbWltaWNraW5nIEtsYXRza2luIHR1bW9yOiBjYXNlIHJlcG9ydCBhbmQgcmV2aWV3IG9mIHRoZSBsaXRlcmF0dXJlKioKCmh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vYXJ0aWNsZS8xMC4xMDA3L3MxMjMyOC0wMTgtMDA5MjgtdwoKLS0tCgoKCi0gKipQcm9nbm9zdGljIFNpZ25pZmljYW5jZSBvZiB0aGUgTHltcGggTm9kZSBSYXRpbyBpbiBTdXJnaWNhbCBQYXRpZW50cyBXaXRoIERpc3RhbCBDaG9sYW5naW9jYXJjaW5vbWEqKgoKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzAwMjI0ODA0MTgzMDc3NTMKCgotLS0KCi0gKipDbGluaWNhbCBwcmFjdGljZSBndWlkZWxpbmVzIGZvciBJZ0c0LXJlbGF0ZWQgc2NsZXJvc2luZyBjaG9sYW5naXRpcyoqCgpbbGlua10oaHR0cHM6Ly93d3cucmVzZWFyY2hnYXRlLm5ldC9wdWJsaWNhdGlvbi8zMjk4NTg0MjRfQ2xpbmljYWxfcHJhY3RpY2VfZ3VpZGVsaW5lc19mb3JfSWdHNC1yZWxhdGVkX3NjbGVyb3NpbmdfY2hvbGFuZ2l0aXMpCgoKLS0tCgotICoqRnJlcXVlbmN5IGFuZCBmZWFzaWJpbGl0eSBvZiBkZXRlY3RpbmcgRkdGUiBtUk5BIGV4cHJlc3Npb24gaW4gYXJjaGl2YWwgc2FtcGxlcyBvZiBwYXRpZW50cyB3aXRoIGNob2xhbmdpb2NhcmNpbm9tYSAoQ0NBKS4qKgoKaHR0cDovL2FzY29wdWJzLm9yZy9kb2kvYWJzLzEwLjEyMDAvSkNPLjIwMTkuMzcuNF9zdXBwbC4yODEKCgoKLS0tCgotICoqRGlmZmVyZW5jZXMgaW4gb3ZlcmFsbCBzdXJ2aXZhbCBmb3IgcGF0aWVudHMgd2l0aCBjaG9sYW5naW9jYXJjaW5vbWE6IFJhY2lhbC9ldGhuaWMgZGlzcGFyaXR5IG9yIHNvY2lvZWNvbm9taWMgZmFjdG9ycz8qKgoKaHR0cHM6Ly93d3cucmVzZWFyY2hnYXRlLm5ldC9wdWJsaWNhdGlvbi8zMzA4MDQ5NjhfRGlmZmVyZW5jZXNfaW5fb3ZlcmFsbF9zdXJ2aXZhbF9mb3JfcGF0aWVudHNfd2l0aF9jaG9sYW5naW9jYXJjaW5vbWFfUmFjaWFsZXRobmljX2Rpc3Bhcml0eV9vcl9zb2Npb2Vjb25vbWljX2ZhY3RvcnMKCi0tLQoKYGBge3IgMzAxODA3NTEsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMTgwNzUxIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMTgwNzUxJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMTgwNzUxIDwtIHBhc3RlMChQTUlEXzMwMTgwNzUxJGpvdXJuYWwsJyAnLCBQTUlEXzMwMTgwNzUxJHllYXIsICcgJywgUE1JRF8zMDE4MDc1MSRtb250aCwnOycsIFBNSURfMzAxODA3NTEkdm9sdW1lLCcoJywgUE1JRF8zMDE4MDc1MSRudW1iZXIsJyk6JywgUE1JRF8zMDE4MDc1MSRwYWdlcykKClB1Yk1lZF8zMDE4MDc1MSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMTgwNzUxJGVwcmludCkKCmRvaV8zMDE4MDc1MSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMTgwNzUxJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMTgwNzUxIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMTgwNzUxJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAxODA3NTEgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAxODA3NTEkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMTgwNzUxIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAxODA3NTEkdGl0bGUgLCAiIFBNSUQ6IDMwMTgwNzUxICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDE4MDc1MSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMTgwNzUxYCoKCmByIFB1Yk1lZF8zMDE4MDc1MWAKCmByIGFkZHRoaXNfaW5saW5lXzMwMTgwNzUxYAoKYHIgUE1JRF8zMDE4MDc1MSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMTgwNzUxYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMTgwNzUxYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAxODA3NTFgCgo8L2RldGFpbHM+CgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKIyMjIEdhbGxibGFkZGVyCgoKSUwtMzMgb3ZlcmV4cHJlc3Npb24gaW4gZ2FsbGJsYWRkZXIgY2FuY2VycyBhc3NvY2lhdGVkIHdpdGggcGFuY3JlYXRvYmlsaWFyeSBtYWxqdW5jdGlvbi4KCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzMwODgyOTE3CgotIFByb2dub3N0aWMgSW1wYWN0IG9mIEx5bXBoIE5vZGUgRXhjaXNpb24gaW4gVDEgYW5kIFQyIEdhbGxibGFkZGVyIENhbmNlcjogYSBQb3B1bGF0aW9uLUJhc2VkIGFuZCBQcm9wZW5zaXR5IFNjb3JlLU1hdGNoZWQgU0VFUiBBbmFseXNpcy4KCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzMwODg3Mjk3CgoKLSBNb2xlY3VsYXIgRGlhZ25vc2lzIG9mIEdhbGwgQmxhZGRlciBDYW5jZXIKCmh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vY2hhcHRlci8xMC4xMDA3Lzk3OC05ODEtMTMtNTg3Ny03XzIKCi0gVGhlIG9wdGltYWwgbnVtYmVyIG9mIGx5bXBoIG5vZGVzIHRvIGV2YWx1YXRlIGFtb25nIHBhdGllbnRzIHVuZGVyZ29pbmcgc3VyZ2VyeSBmb3IgZ2FsbGJsYWRkZXIgY2FuY2VyOiBDb3JyZWxhdGluZyB0aGUgbnVtYmVyIG9mIG5vZGVzIHJlbW92ZWQgd2l0aCBzdXJ2aXZhbCBpbiA2NTMxIHBhdGllbnRzCgpodHRwczovL29ubGluZWxpYnJhcnkud2lsZXkuY29tL2RvaS9hYnMvMTAuMTAwMi9qc28uMjU0NTAKCgotLS0KCi0gKipBbiB1bnVzdWFsIHByZXNlbnRhdGlvbiBvZiBjYXJjaW5vbWEgaW4gZ2FsbGJsYWRkZXIuKioKCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzMwODIwMjMzCgotLS0KCi0gKipHYWxsYmxhZGRlciBDYW5jZXIgRGlhZ25vc2lzLCBTdXJnaWNhbCBNYW5hZ2VtZW50LCBhbmQgQWRqdXZhbnQgVGhlcmFwaWVzKioKCmh0dHBzOi8vd3d3LnN1cmdpY2FsLnRoZWNsaW5pY3MuY29tL2FydGljbGUvUzAwMzktNjEwOSgxOCkzMDE3OC02L2Z1bGx0ZXh0CgotLS0KCi0gKipNdWNpbiA1QiwgY2FyYm9uaWMgYW5oeWRyYXNlIDkgYW5kIGNsYXVkaW4gMTggYXJlcG90ZW50aWFsIHRoZXJhbm9zdGljIG1hcmtlcnMgb2YgZ2FsbGJsYWRkZXIgY2FyY2lub21hKioKCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHJvZmlsZS9KYWltZV9Fc3Bpbm96YTcvcHVibGljYXRpb24vMzI5Mzc1MjgwX01VQzVCX0NBOV9hbmRfQ0xETjE4X2FyZV9wb3RlbnRpYWxfdGhlcmFub3N0aWNfbWFya2Vyc19vZl9nYWxsYmxhZGRlcl9jYXJjaW5vbWEvbGlua3MvNWM1MDVlMjk0NTg1MTVhNGM3NDgxNWVmL01VQzVCLUNBOS1hbmQtQ0xETjE4LWFyZS1wb3RlbnRpYWwtdGhlcmFub3N0aWMtbWFya2Vycy1vZi1nYWxsYmxhZGRlci1jYXJjaW5vbWEucGRmCgotLS0KCi0gKipVbmNvbW1vbiBJbnRyYWx1bWluYWwgVHVtb3JzIG9mIHRoZSBHYWxsYmxhZGRlciBhbmQgQmlsaWFyeSBUcmFjdDogU3BlY3RydW0gb2YgSW1hZ2luZyBBcHBlYXJhbmNlcyoqCgpodHRwczovL3B1YnMucnNuYS5vcmcvZG9pL2Ficy8xMC4xMTQ4L3JnLjIwMTkxODAxNjQKCgotLS0KCi0gKipOZXVyb2VuZG9jcmluZSBDYXJjaW5vbWEgYW5kIEludHJhY3lzdGljIFBhcGlsbGFyeSBOZW9wbGFzbTogQSBSYXJlIEFzc29jaWF0aW9uIGluIHRoZSBHYWxsYmxhZGRlcioqCgoKaHR0cHM6Ly93d3cua2FyZ2VyLmNvbS9BcnRpY2xlL0Z1bGxUZXh0LzQ5NTUyMwoKCi0tLQoKLSAqKlBvc2l0aXZlIGN5c3RpYyBkdWN0IG1hcmdpbiBhdCBpbmRleCBjaG9sZWN5c3RlY3RvbXkgaW4gaW5jaWRlbnRhbCBnYWxsYmxhZGRlciBjYW5jZXIgaXMgYW4gaW1wb3J0YW50IG5lZ2F0aXZlIHByb2dub3N0aWNhdG9yKioKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzA3NDg3OTgzMTkzMDAzNjgKCgotLS0KCgoKCi0gKipGaW5lLW5lZWRsZSBhc3BpcmF0aW9uIGN5dG9sb2d5IG9mIGdhbGxibGFkZGVyIHdpdGggYW4gYXR0ZW1wdCBvZiBjeXRvbW9ycGhvbG9naWNhbCBjbGFzc2lmaWNhdGlvbioqCgpodHRwOi8vd3d3LmN5dG9qb3VybmFsLmNvbS9hcnRpY2xlLmFzcD9pc3NuPTE3NDItNjQxMzt5ZWFyPTIwMTk7dm9sdW1lPTE2O2lzc3VlPTE7c3BhZ2U9MTtlcGFnZT0xO2F1bGFzdD1DaGFuZHJhCgotLS0KCi0gKipQSU0xIGtpbmFzZSBwcm9tb3RlcyBnYWxsYmxhZGRlciBjYW5jZXIgY2VsbCBwcm9saWZlcmF0aW9uIHZpYSBpbmhpYml0aW9uIG9mIHByb2xpbmUtcmljaCBBa3Qgc3Vic3RyYXRlIG9mIDQwIGtEYSAoUFJBUzQwKSoqCgpodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2FydGljbGUvMTAuMTAwNy9zMTIwNzktMDE4LTAwNTAzLTUKCgoKCi0tLQoKCi0gKipNVUM1QiwgQ0E5IGFuZCBDTEROMTggYXJlIHBvdGVudGlhbCB0aGVyYW5vc3RpYyBtYXJrZXJzIG9mIGdhbGxibGFkZGVyIGNhcmNpbm9tYSoqCgoKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvMTAuMTExMS9oaXMuMTM3OTcKCi0tLQoKCi0gKipPcHRpbWFsIFN1cmdpY2FsIFRyZWF0bWVudCBpbiBQYXRpZW50cyB3aXRoIFQxYiBHYWxsYmxhZGRlciBDYW5jZXI6IEFuIEludGVybmF0aW9uYWwgTXVsdGljZW50ZXIgU3R1ZHkqKgoKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvYWJzLzEwLjEwMDIvamhicC41OTMKCgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKIyMjIEFtcHVsbGEgb2YgVmF0ZXIKCi0tLQoKLSAqKkNhbiB3ZSBjbGFzc2lmeSBhbXB1bGxhcnkgdHVtb3VycyBiZXR0ZXI/IENsaW5pY2FsLCBwYXRob2xvZ2ljYWwgYW5kIG1vbGVjdWxhciBmZWF0dXJlcy4gUmVzdWx0cyBvZiBhbiBBR0VPIHN0dWR5KioKCmh0dHBzOi8vd3d3Lm5hdHVyZS5jb20vYXJ0aWNsZXMvczQxNDE2LTAxOS0wNDE1LTgKCi0tLQoKLSAqKlBlcmktQW1wdWxsYXJ5IE1ldGFzdGFzaXMgRnJvbSBFbmRvbWV0cmlhbCBBZGVub2NhcmNpbm9tYTogQSBSYXJlIEV0aW9sb2d5IG9mIE9ic3RydWN0aXZlIEphdW5kaWNlKioKCmh0dHBzOi8vd3d3Lmdhc3Ryb3Jlcy5vcmcvaW5kZXgucGhwL0dhc3Ryb3Jlcy9hcnRpY2xlL3ZpZXcvMTEyOS8xMTU5CgoKLS0tCgotICoqVGhlIFByb2dub3N0aWMgUmVsZXZhbmNlIG9mIHRoZSBOZXcgOHRoIEVkaXRpb24gb2YgdGhlIFVuaW9uIGZvciBJbnRlcm5hdGlvbmFsIENhbmNlciBDb250cm9sIENsYXNzaWZpY2F0aW9uIG9mIFROTSBTdGFnaW5nIGZvciBBbXB1bGxhIG9mIFZhdGVyIENhcmNpbm9tYSoqCgoKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9hcnRpY2xlLzEwLjEyNDUvczEwNDM0LTAxOS0wNzIzOC02CgoKLS0tCgotICoqU3RhZ2luZyBmb3IgQW1wdWxsYXJ5IENhcmNpbm9tYTogSXMgTGVzcyBBY3R1YWxseSBNb3JlPyoqCgpodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2FydGljbGUvMTAuMTI0NS9zMTA0MzQtMDE5LTA3MjQxLXgKCgoKLS0tCgpgYGB7ciAzMDY5NDU4NiwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA2OTQ1ODYgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA2OTQ1ODYnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA2OTQ1ODYgPC0gcGFzdGUwKFBNSURfMzA2OTQ1ODYkam91cm5hbCwnICcsIFBNSURfMzA2OTQ1ODYkeWVhciwgJyAnLCBQTUlEXzMwNjk0NTg2JG1vbnRoLCc7JywgUE1JRF8zMDY5NDU4NiR2b2x1bWUsJygnLCBQTUlEXzMwNjk0NTg2JG51bWJlciwnKTonLCBQTUlEXzMwNjk0NTg2JHBhZ2VzKQoKUHViTWVkXzMwNjk0NTg2IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA2OTQ1ODYkZXByaW50KQoKZG9pXzMwNjk0NTg2IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA2OTQ1ODYkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA2OTQ1ODYgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA2OTQ1ODYkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDY5NDU4NiA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDY5NDU4NiRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA2OTQ1ODYgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDY5NDU4NiR0aXRsZSAsICIgUE1JRDogMzA2OTQ1ODYgIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNjk0NTg2JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA2OTQ1ODZgKgoKYHIgUHViTWVkXzMwNjk0NTg2YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA2OTQ1ODZgCgpgciBQTUlEXzMwNjk0NTg2JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA2OTQ1ODZgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA2OTQ1ODZgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDY5NDU4NmAKCjwvZGV0YWlscz4KCi0tLQoKYGBge3IgMzA2OTM0MjAsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNjkzNDIwIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNjkzNDIwJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNjkzNDIwIDwtIHBhc3RlMChQTUlEXzMwNjkzNDIwJGpvdXJuYWwsJyAnLCBQTUlEXzMwNjkzNDIwJHllYXIsICcgJywgUE1JRF8zMDY5MzQyMCRtb250aCwnOycsIFBNSURfMzA2OTM0MjAkdm9sdW1lLCcoJywgUE1JRF8zMDY5MzQyMCRudW1iZXIsJyk6JywgUE1JRF8zMDY5MzQyMCRwYWdlcykKClB1Yk1lZF8zMDY5MzQyMCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNjkzNDIwJGVwcmludCkKCmRvaV8zMDY5MzQyMCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNjkzNDIwJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNjkzNDIwIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNjkzNDIwJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA2OTM0MjAgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA2OTM0MjAkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNjkzNDIwIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA2OTM0MjAkdGl0bGUgLCAiIFBNSUQ6IDMwNjkzNDIwICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDY5MzQyMCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNjkzNDIwYCoKCmByIFB1Yk1lZF8zMDY5MzQyMGAKCmByIGFkZHRoaXNfaW5saW5lXzMwNjkzNDIwYAoKYHIgUE1JRF8zMDY5MzQyMCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNjkzNDIwYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNjkzNDIwYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA2OTM0MjBgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwNjk1ODU4LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDY5NTg1OCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDY5NTg1OCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDY5NTg1OCA8LSBwYXN0ZTAoUE1JRF8zMDY5NTg1OCRqb3VybmFsLCcgJywgUE1JRF8zMDY5NTg1OCR5ZWFyLCAnICcsIFBNSURfMzA2OTU4NTgkbW9udGgsJzsnLCBQTUlEXzMwNjk1ODU4JHZvbHVtZSwnKCcsIFBNSURfMzA2OTU4NTgkbnVtYmVyLCcpOicsIFBNSURfMzA2OTU4NTgkcGFnZXMpCgpQdWJNZWRfMzA2OTU4NTggPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDY5NTg1OCRlcHJpbnQpCgpkb2lfMzA2OTU4NTggPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDY5NTg1OCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDY5NTg1OCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDY5NTg1OCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNjk1ODU4IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNjk1ODU4JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDY5NTg1OCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNjk1ODU4JHRpdGxlICwgIiBQTUlEOiAzMDY5NTg1OCAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA2OTU4NTgkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDY5NTg1OGAqCgpgciBQdWJNZWRfMzA2OTU4NThgCgpgciBhZGR0aGlzX2lubGluZV8zMDY5NTg1OGAKCmByIFBNSURfMzA2OTU4NTgkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDY5NTg1OGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDY5NTg1OGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNjk1ODU4YAoKPC9kZXRhaWxzPgoKLS0tCgoKLSAqKkNsaW5pY2FsIHJlbGV2YW5jZSBvZiBwYW5jcmVhdG9iaWxpYXJ5IGFuZCBpbnRlc3RpbmFsIHN1YnR5cGVzIG9mIGFtcHVsbGFyeSBhbmQgZHVvZGVuYWwgYWRlbm9jYXJjaW5vbWE6IFBhdHRlcm4gb2YgcmVjdXJyZW5jZSwgY2hlbW90aGVyYXB5LCBhbmQgc3Vydml2YWwgYWZ0ZXIgcGFuY3JlYXRvZHVvZGVuZWN0b215KioKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzE0MjQzOTAzMTkzMDAyMDEKCgoKLS0tCgotICoqVGhlIFJvbGUgb2YgTG9nIE9kZHMgb2YgUG9zaXRpdmUgTHltcGggTm9kZXMgaW4gUHJlZGljdGluZyB0aGUgU3Vydml2YWwgYWZ0ZXIgUmVzZWN0aW9uIGZvciBBbXB1bGxhcnkgQWRlbm9jYXJjaW5vbWEqKgoKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9hcnRpY2xlLzEwLjEwMDcvczEyMjUzLTAxOS0wMDU4NC02CgotLS0KCi0gKipBbXB1bGxhcnkgY2FuY2VyOiBFdmFsdWF0aW9uIG9mIHNvbWF0aWMgYW5kIGdlcm1saW5lIGdlbmV0aWMgYWx0ZXJhdGlvbnMgYW5kIGFzc29jaWF0aW9uIHdpdGggY2xpbmljYWwgb3V0Y29tZXMqKgoKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvYWJzLzEwLjEwMDIvY25jci4zMTk1MQoKCi0tLQoKLSAqKkFkZW5vc3F1YW1vdXMgY2FyY2lub21hIG9mIHRoZSBwYXBpbGxhIG9mIFZhdGVyOiBBIHBoZW5vdHlwaWMgaGV0ZXJvZ2VuZWl0eSBjaGFyYWN0ZXJpemVkIGJ5IGEgY29tbW9uIG1vbGVjdWxhciBsYW5kc2NhcGUqKgoKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvMTAuMTExMS9waW4uMTI3MzEKCgoKCi0tLQoKLSAqKklkZW50aWZpY2F0aW9uIG9mIGFtcHVsbGFyeSBjYXJjaW5vbWEgbWl4ZWQgc3VidHlwZSB1c2luZyBhIHBhbmVsIG9mIHNpeCBhbnRpYm9kaWVzIGFuZCBpdHMgY2xpbmljYWwgc2lnbmlmaWNhbmNlKioKCmh0dHBzOi8vb25saW5lbGlicmFyeS53aWxleS5jb20vZG9pL2Ficy8xMC4xMDAyL2pzby4yNTMxMQoKLS0tCgotICoqSW5jaWRlbmNlIGFuZCBjb21wYXJhdGl2ZSBvdXRjb21lcyBvZiBwZXJpYW1wdWxsYXJ5IGNhbmNlcjogQSBwb3B1bGF0aW9u4oCQYmFzZWQgYW5hbHlzaXMgZGVtb25zdHJhdGluZyBpbXByb3ZlZCBvdXRjb21lcyBhbmQgaW5jcmVhc2VkIHVzZSBvZiBhZGp1dmFudCB0aGVyYXB5IGZyb20gMjAwNCB0byAyMDEyKioKCmh0dHBzOi8vb25saW5lbGlicmFyeS53aWxleS5jb20vZG9pL2Ficy8xMC4xMDAyL2pzby4yNTMzNgoKCi0tLQoKLSAqKkRpc3RpbmN0IGltbXVub2xvZ2ljYWwgcHJvcGVydGllcyBvZiB0aGUgdHdvIGhpc3RvbG9naWNhbCBzdWJ0eXBlcyBvZiBhZGVub2NhcmNpbm9tYSBvZiB0aGUgYW1wdWxsYSBvZiBWYXRlcioqCgoKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9hcnRpY2xlLzEwLjEwMDcvczAwMjYyLTAxOC0wMjI5My02CgoKLS0tCgpgYGB7ciAzMDEyNjgyOCwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAxMjY4MjggPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAxMjY4MjgnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAxMjY4MjggPC0gcGFzdGUwKFBNSURfMzAxMjY4Mjgkam91cm5hbCwnICcsIFBNSURfMzAxMjY4MjgkeWVhciwgJyAnLCBQTUlEXzMwMTI2ODI4JG1vbnRoLCc7JywgUE1JRF8zMDEyNjgyOCR2b2x1bWUsJygnLCBQTUlEXzMwMTI2ODI4JG51bWJlciwnKTonLCBQTUlEXzMwMTI2ODI4JHBhZ2VzKQoKUHViTWVkXzMwMTI2ODI4IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAxMjY4MjgkZXByaW50KQoKZG9pXzMwMTI2ODI4IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAxMjY4MjgkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAxMjY4MjggPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAxMjY4MjgkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDEyNjgyOCA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDEyNjgyOCRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAxMjY4MjggPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDEyNjgyOCR0aXRsZSAsICIgUE1JRDogMzAxMjY4MjggIiAsIGFkZHRoaXNfU3RyaW5nMikKClN5cy5zbGVlcCgxKQoKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMTI2ODI4JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAxMjY4MjhgKgoKYHIgUHViTWVkXzMwMTI2ODI4YAoKYHIgYWRkdGhpc19pbmxpbmVfMzAxMjY4MjhgCgpgciBQTUlEXzMwMTI2ODI4JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAxMjY4MjhgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAxMjY4MjhgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDEyNjgyOGAKCjwvZGV0YWlscz4KCi0tLQoKYGBge3IgMzA4MTMyMDMsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwODEzMjAzIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwODEzMjAzJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwODEzMjAzIDwtIHBhc3RlMChQTUlEXzMwODEzMjAzJGpvdXJuYWwsJyAnLCBQTUlEXzMwODEzMjAzJHllYXIsICcgJywgUE1JRF8zMDgxMzIwMyRtb250aCwnOycsIFBNSURfMzA4MTMyMDMkdm9sdW1lLCcoJywgUE1JRF8zMDgxMzIwMyRudW1iZXIsJyk6JywgUE1JRF8zMDgxMzIwMyRwYWdlcykKClB1Yk1lZF8zMDgxMzIwMyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwODEzMjAzJGVwcmludCkKCmRvaV8zMDgxMzIwMyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwODEzMjAzJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwODEzMjAzIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwODEzMjAzJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA4MTMyMDMgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA4MTMyMDMkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwODEzMjAzIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA4MTMyMDMkdGl0bGUgLCAiIFBNSUQ6IDMwODEzMjAzICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDgxMzIwMyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwODEzMjAzYCoKCmByIFB1Yk1lZF8zMDgxMzIwM2AKCmByIGFkZHRoaXNfaW5saW5lXzMwODEzMjAzYAoKYHIgUE1JRF8zMDgxMzIwMyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwODEzMjAzYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwODEzMjAzYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA4MTMyMDNgCgo8L2RldGFpbHM+CgoKCi0tLQoKYGBge3IgMzA4NDYwMzksIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwODQ2MDM5IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwODQ2MDM5JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwODQ2MDM5IDwtIHBhc3RlMChQTUlEXzMwODQ2MDM5JGpvdXJuYWwsJyAnLCBQTUlEXzMwODQ2MDM5JHllYXIsICcgJywgUE1JRF8zMDg0NjAzOSRtb250aCwnOycsIFBNSURfMzA4NDYwMzkkdm9sdW1lLCcoJywgUE1JRF8zMDg0NjAzOSRudW1iZXIsJyk6JywgUE1JRF8zMDg0NjAzOSRwYWdlcykKClB1Yk1lZF8zMDg0NjAzOSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwODQ2MDM5JGVwcmludCkKCmRvaV8zMDg0NjAzOSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwODQ2MDM5JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwODQ2MDM5IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwODQ2MDM5JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA4NDYwMzkgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA4NDYwMzkkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwODQ2MDM5IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA4NDYwMzkkdGl0bGUgLCAiIFBNSUQ6IDMwODQ2MDM5ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpTeXMuc2xlZXAoMSkKCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDg0NjAzOSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwODQ2MDM5YCoKCmByIFB1Yk1lZF8zMDg0NjAzOWAKCmByIGFkZHRoaXNfaW5saW5lXzMwODQ2MDM5YAoKYHIgUE1JRF8zMDg0NjAzOSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwODQ2MDM5YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwODQ2MDM5YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA4NDYwMzlgCgo8L2RldGFpbHM+CgoKCgotLS0KCmBgYHtyIDMwODQ5MjA5LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDg0OTIwOSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDg0OTIwOScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDg0OTIwOSA8LSBwYXN0ZTAoUE1JRF8zMDg0OTIwOSRqb3VybmFsLCcgJywgUE1JRF8zMDg0OTIwOSR5ZWFyLCAnICcsIFBNSURfMzA4NDkyMDkkbW9udGgsJzsnLCBQTUlEXzMwODQ5MjA5JHZvbHVtZSwnKCcsIFBNSURfMzA4NDkyMDkkbnVtYmVyLCcpOicsIFBNSURfMzA4NDkyMDkkcGFnZXMpCgpQdWJNZWRfMzA4NDkyMDkgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDg0OTIwOSRlcHJpbnQpCgpkb2lfMzA4NDkyMDkgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDg0OTIwOSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDg0OTIwOSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDg0OTIwOSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwODQ5MjA5IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwODQ5MjA5JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDg0OTIwOSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwODQ5MjA5JHRpdGxlICwgIiBQTUlEOiAzMDg0OTIwOSAiICwgYWRkdGhpc19TdHJpbmcyKQoKU3lzLnNsZWVwKDEpCgoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA4NDkyMDkkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDg0OTIwOWAqCgpgciBQdWJNZWRfMzA4NDkyMDlgCgpgciBhZGR0aGlzX2lubGluZV8zMDg0OTIwOWAKCmByIFBNSURfMzA4NDkyMDkkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDg0OTIwOWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDg0OTIwOWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwODQ5MjA5YAoKPC9kZXRhaWxzPgoKLS0tCgoKCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCiMjIyBOZXVyb2VuZG9jcmluZQoKCi0tLQoKLSBQYXRpZW50IGNoYXJhY3RlcmlzdGljcyBhbmQgY2xpbmljYWwgb3V0Y29tZXMgZm9sbG93aW5nIGluaXRpYWwgc3VyZ2ljYWwgaW50ZXJ2ZW50aW9uIGZvciBNRU4xIGFzc29jaWF0ZWQgcGFuY3JlYXRpYyBuZXVyb2VuZG9jcmluZSB0dW1vdXJzOiBBIHN5c3RlbWF0aWMgcmV2aWV3IGFuZCBleHBsb3JhdG9yeSBtZXRhLWFuYWx5c2lzIG9mIHRoZSBsaXRlcmF0dXJlLgoKaHR0cHM6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wdWJtZWQvMzA4OTQzMDMKCgotLS0KCi0gKipTeXN0ZW1hdGljIHJldmlldyBvZiBjdXJyZW50IHByb2dub3N0aWNhdGlvbiBzeXN0ZW1zIGZvciBwYW5jcmVhdGljIG5ldXJvZW5kb2NyaW5lIG5lb3BsYXNtcyoqCgpodHRwczovL3d3dy5zdXJnam91cm5hbC5jb20vYXJ0aWNsZS9TMDAzOS02MDYwKDE4KTMwNzQ3LTUvZnVsbHRleHQKCi0tLQoKLSAqKlN1cmdlcnkgZm9yIFBhbmNyZWF0aWMgTmV1cm9lbmRvY3JpbmUgVHVtb3IgRzMgYW5kIENhcmNpbm9tYSBHMyBTaG91bGQgYmUgQ29uc2lkZXJlZCBTZXBhcmF0ZWx5LioqCgpodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC8zMDg2MzkzOQoKCi0tLQoKLSAqKlJlcGx5IHRvIOKAmFRpbWUgZm9yIGEgY2hhbmdlIGFuZCB0byBhZG9wdCBhIG5vdmVsIG1vbGVjdWxhciBnZW5vbWljIGFwcHJvYWNoIGluIE5FVHPigJkqKgoKaHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDE1NzEtMDE5LTAxODYtNAoKLS0tCgotICoqSW50ZXJ0dW1vciBoZXRlcm9nZW5laXR5IGluIDYwIHBhbmNyZWF0aWMgbmV1cm9lbmRvY3JpbmUgdHVtb3JzIGFzc29jaWF0ZWQgd2l0aCBtdWx0aXBsZSBlbmRvY3JpbmUgbmVvcGxhc2lhIHR5cGUgMSoqCgpodHRwczovL29qcmQuYmlvbWVkY2VudHJhbC5jb20vYXJ0aWNsZXMvMTAuMTE4Ni9zMTMwMjMtMDE5LTEwMzQtNAoKLS0tCgotICoqUkFCTDZBaW5oaWJpdHMgdHVtb3Itc3VwcHJlc3NpdmUgUFAyQS9BS1RzaWduYWxpbmcgdG8gZHJpdmVwYW5jcmVhdGljIG5ldXJvZW5kb2NyaW5lIHR1bW9yIGdyb3d0aCoqCgoKaHR0cHM6Ly9kbTVtaWd1NHpqM3BiLmNsb3VkZnJvbnQubmV0L21hbnVzY3JpcHRzLzEyMzAwMC8xMjMwNDkvSkNJMTIzMDQ5LnYxLnBkZgoKCi0tLQoKLSAqKlR1bW9yLUluZmlsdHJhdGluZyBORVRzIFByZWRpY3QgUG9zdHN1cmdpY2FsIFN1cnZpdmFsIGluIFBhdGllbnRzIHdpdGggUGFuY3JlYXRpYyBEdWN0YWwgQWRlbm9jYXJjaW5vbWEqKgoKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9hcnRpY2xlLzEwLjEyNDUlMkZzMTA0MzQtMDE4LTY5NDEtNAoKCgotLS0KCi0gKipJbnRlcmFjdGlvbiBvZiByYWNlIGFuZCBwYXRob2xvZ3kgZm9yIG5ldXJvZW5kb2NyaW5lIHR1bW9yczogRXBpZGVtaW9sb2d5LCBuYXR1cmFsIGhpc3RvcnksIG9yIHJhY2lhbCBkaXNwYXJpdHk/KioKCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzMwODA0MzEwX0ludGVyYWN0aW9uX29mX3JhY2VfYW5kX3BhdGhvbG9neV9mb3JfbmV1cm9lbmRvY3JpbmVfdHVtb3JzX0VwaWRlbWlvbG9neV9uYXR1cmFsX2hpc3Rvcnlfb3JfcmFjaWFsX2Rpc3Bhcml0eQoKCgotLS0KCi0gKipEdW9kZW5hbCBuZXVyb2VuZG9jcmluZSB0dW1vcnM6IFNvbWV3aGVyZSBiZXR3ZWVuIHRoZSBwYW5jcmVhcyBhbmQgc21hbGwgYm93ZWw/KioKCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzMwODA1MDE4X0R1b2RlbmFsX25ldXJvZW5kb2NyaW5lX3R1bW9yc19Tb21ld2hlcmVfYmV0d2Vlbl90aGVfcGFuY3JlYXNfYW5kX3NtYWxsX2Jvd2VsCgoKCi0tLQoKLSAqKlRoZSBTaXplIG9mIFdlbGwgRGlmZmVyZW50aWF0ZWQgUGFuY3JlYXRpYyBOZXVyb2VuZG9jcmluZSBUdW1vcnMgQ29ycmVsYXRlcyB3aXRoIEtpNjcgUHJvbGlmZXJhdGl2ZSBJbmRleCBhbmQgaXMgbm90IEFzc29jaWF0ZWQgd2l0aCBBZ2UqKgoKaHR0cHM6Ly93d3cucmVzZWFyY2hnYXRlLm5ldC9wdWJsaWNhdGlvbi8zMzA1OTUyMTVfVGhlX1NpemVfb2ZfV2VsbF9EaWZmZXJlbnRpYXRlZF9QYW5jcmVhdGljX05ldXJvZW5kb2NyaW5lX1R1bW9yc19Db3JyZWxhdGVzX3dpdGhfS2k2N19Qcm9saWZlcmF0aXZlX0luZGV4X2FuZF9pc19ub3RfQXNzb2NpYXRlZF93aXRoX0FnZQoKCi0tLQoKLSAqKlJvbGUgb2YgVHVtb3IgQXNzb2NpYXRlZCBNYWNyb3BoYWdlcyBpbiB0aGUgQ2xpbmljYWwgQ291cnNlIG9mIFBhbmNyZWF0aWMgTmV1cm9lbmRvY3JpbmUgVHVtb3JzIChQYW5ORVRzKSoqCgpodHRwOi8vY2xpbmNhbmNlcnJlcy5hYWNyam91cm5hbHMub3JnL2NvbnRlbnQvZWFybHkvMjAxOS8wMS8xOS8xMDc4LTA0MzIuQ0NSLTE4LTE0MDEKCgotLS0KCi0gKipHZW5ldGljcyBhbmQgRXBpZ2VuZXRpY3Mgb2YgR2FzdHJvZW50ZXJvcGFuY3JlYXRpYyBOZXVyb2VuZG9jcmluZSBOZW9wbGFzbXMqKgoKaHR0cHM6Ly9hY2FkZW1pYy5vdXAuY29tL2VkcnYvYWR2YW5jZS1hcnRpY2xlLWFic3RyYWN0L2RvaS8xMC4xMjEwL2VyLjIwMTgtMDAxNjAvNTI4OTcyMAoKCi0tLQoKLSAqKlR1bW9yIGdyb3d0aCByYXRlIGFzIGEgbWV0cmljIG9mIHByb2dyZXNzaW9uLCByZXNwb25zZSwgYW5kIHByb2dub3NpcyBpbiBwYW5jcmVhdGljIGFuZCBpbnRlc3RpbmFsIG5ldXJvZW5kb2NyaW5lIHR1bW9ycyoqCgpodHRwczovL2JtY2NhbmNlci5iaW9tZWRjZW50cmFsLmNvbS9hcnRpY2xlcy8xMC4xMTg2L3MxMjg4NS0wMTgtNTI1Ny14CgoKLS0tCgotICoqV2hhdCBJcyBOZXcgaW4gdGhlIDIwMTcgV29ybGQgSGVhbHRoIE9yZ2FuaXphdGlvbiBDbGFzc2lmaWNhdGlvbiBhbmQgOHRoIEFtZXJpY2FuIEpvaW50IENvbW1pdHRlZSBvbiBDYW5jZXIgU3RhZ2luZyBTeXN0ZW0gZm9yIFBhbmNyZWF0aWMgTmV1cm9lbmRvY3JpbmUgTmVvcGxhc21zPyoqCgpodHRwczovL3d3dy5yZXNlYXJjaGdhdGUubmV0L3B1YmxpY2F0aW9uLzMzMDA3MDA0M19XaGF0X0lzX05ld19pbl90aGVfMjAxN19Xb3JsZF9IZWFsdGhfT3JnYW5pemF0aW9uX0NsYXNzaWZpY2F0aW9uX2FuZF84dGhfQW1lcmljYW5fSm9pbnRfQ29tbWl0dGVlX29uX0NhbmNlcl9TdGFnaW5nX1N5c3RlbV9mb3JfUGFuY3JlYXRpY19OZXVyb2VuZG9jcmluZV9OZW9wbGFzbXMKCgpodHRwczovL3d3dy5ranJvbmxpbmUub3JnL0RPSXgucGhwP2lkPTEwLjMzNDgva2pyLjIwMTguMDA0MAoKCi0tLQoKLSAqKlN5c3RlbWF0aWMgcmV2aWV3IG9mIGN1cnJlbnQgcHJvZ25vc3RpY2F0aW9uIHN5c3RlbXMgZm9yIHBhbmNyZWF0aWMgbmV1cm9lbmRvY3JpbmUgbmVvcGxhc21zKioKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzAwMzk2MDYwMTgzMDc0NzUKCi0tLQoKLSAqKlNlcnVtIGNocm9tb2dyYW5pbiBBIGZvciB0aGUgZGlhZ25vc2lzIG9mIGdhc3Ryb2VudGVyb3BhbmNyZWF0aWMgbmV1cm9lbmRvY3JpbmUgbmVvcGxhc21zIGFuZCBpdHMgYXNzb2NpYXRpb24gd2l0aCB0dW1vdXIgZXhwcmVzc2lvbioqCgpodHRwczovL3d3dy5zcGFuZGlkb3MtcHVibGljYXRpb25zLmNvbS8xMC4zODkyL29sLjIwMTguOTc5NQoKCi0tLQoKLSAqKkVuZG9zY29waWMgVWx0cmFzb3VuZCBBc3Nlc3NtZW50IG9mIFBhbmNyZWF0aWMgRHVjdCBEaWFtZXRlciBQcmVkaWN0cyBOZXVyb2VuZG9jcmluZSBUdW1vcnMgYW5kIE90aGVyIFBhbmNyZWFzIE1hc3NlcyoqCgpodHRwczovL2pvdXJuYWxzLmx3dy5jb20vcGFuY3JlYXNqb3VybmFsL0Fic3RyYWN0LzIwMTkvMDEwMDAvRW5kb3Njb3BpY19VbHRyYXNvdW5kX0Fzc2Vzc21lbnRfb2ZfUGFuY3JlYXRpYy45LmFzcHgKCi0tLQoKLSAqKlRoZSBNb2xlY3VsYXIgYW5kIENsaW5pY2FsIExhbmRzY2FwZSBvZiBQYW5jcmVhdGljIE5ldXJvZW5kb2NyaW5lIFR1bW9ycyoqCgpodHRwczovL2pvdXJuYWxzLmx3dy5jb20vcGFuY3JlYXNqb3VybmFsL0Fic3RyYWN0LzIwMTkvMDEwMDAvVGhlX01vbGVjdWxhcl9hbmRfQ2xpbmljYWxfTGFuZHNjYXBlX29mX1BhbmNyZWF0aWMuMi5hc3B4CgotLS0KCi0gKipTeXN0ZW1hdGljIHJldmlldyBvZiBjdXJyZW50IHByb2dub3N0aWNhdGlvbiBzeXN0ZW1zIGZvciBwYW5jcmVhdGljIG5ldXJvZW5kb2NyaW5lIG5lb3BsYXNtcyoqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMDM5NjA2MDE4MzA3NDc1CgoKLS0tCgotICoqUmVnaW9uYWwgZGlmZmVyZW5jZXMgaW4gZ2FsbGJsYWRkZXIgY2FuY2VyIHBhdGhvZ2VuZXNpczogSW5zaWdodHMgZnJvbSBhIG11bHRpLWluc3RpdHV0aW9uYWwgY29tcGFyaXNvbiBvZiB0dW1vciBtdXRhdGlvbnM6IExvY2FsaXR5IG9mIEdhbGxibGFkZGVyIFR1bW9yIE11dGF0aW9ucyoqCgoKaHR0cHM6Ly93d3cucmVzZWFyY2hnYXRlLm5ldC9wdWJsaWNhdGlvbi8zMjg5NDcwNTNfUmVnaW9uYWxfZGlmZmVyZW5jZXNfaW5fZ2FsbGJsYWRkZXJfY2FuY2VyX3BhdGhvZ2VuZXNpc19JbnNpZ2h0c19mcm9tX2FfbXVsdGktaW5zdGl0dXRpb25hbF9jb21wYXJpc29uX29mX3R1bW9yX211dGF0aW9uc19Mb2NhbGl0eV9vZl9HYWxsYmxhZGRlcl9UdW1vcl9NdXRhdGlvbnMKCgotLS0KCi0gKipJbnRyYWNob2xlY3lzdGljIHBhcGlsbGFyeS10dWJ1bGFyIG5lb3BsYXNtIG9mIHRoZSBnYWxsYmxhZGRlciBvcmlnaW5hdGluZyBpbiB0aGUgY3lzdGljIGR1Y3Qgd2l0aCBleHRlbnNpdmUgaW50cmFlcGl0aGVsaWFsIHByb2dyZXNzIGluIHRoZSBjb21tb24gYmlsZSBkdWN0KioKCmh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vYXJ0aWNsZS8xMC4xMDA3L3MxMjMyOC0wMTgtMDkyNy00CgoKLS0tCgotICoqRGlzdHJpYnV0aW9uIG9mIGR5c3BsYXNpYSBhbmQgY2FuY2VyIGluIHRoZSBnYWxsYmxhZGRlcjogYW4gYW5hbHlzaXMgZnJvbSBhIGhpZ2ggY2FuY2VyLXJpc2sgcG9wdWxhdGlvbioqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMDQ2ODE3NzE4MzAyODJYP2RnY2lkPXJhdmVuX3NkX3ZpYV9lbWFpbAoKCgotLS0KCgotICoqTmF0aW9uYWwgRmFpbHVyZSBvZiBTdXJnaWNhbCBTdGFnaW5nIGZvciBUMWIgR2FsbGJsYWRkZXIgQ2FuY2VyKioKCmh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vYXJ0aWNsZS8xMC4xMjQ1L3MxMDQzNC0wMTgtNzA2NC03CgoKCi0tLQoKCgoKCgoKCgoKCgoKCi0gKipBIGNvbW1vbiBjbGFzc2lmaWNhdGlvbiBmcmFtZXdvcmsgZm9yIG5ldXJvZW5kb2NyaW5lIG5lb3BsYXNtczogYW4gSW50ZXJuYXRpb25hbCBBZ2VuY3kgZm9yIFJlc2VhcmNoIG9uIENhbmNlciAoSUFSQykgYW5kIFdvcmxkIEhlYWx0aCBPcmdhbml6YXRpb24gKFdITykgZXhwZXJ0IGNvbnNlbnN1cyBwcm9wb3NhbCoqCgoKaHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDEzNzktMDE4LTAxMTAteQoKCgotLS0KCi0gKipJbnN1bGlub21hLWFzc29jaWF0ZWQgcHJvdGVpbiAxIGltbXVub3N0YWluaW5nIG9uIGN5dG9sb2d5IHNwZWNpbWVuczogYW4gaW5zdGl0dXRpb25hbCBleHBlcmllbmNlKioKCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMDQ2ODE3NzE4MzA0MzUwCgotLS0KCgotICoqQVRSWCBsb3NzIGlzIGFuIGluZGVwZW5kZW50IHByZWRpY3RvciBvZiBwb29yIHN1cnZpdmFsIGluIHBhbmNyZWF0aWMgbmV1cm9lbmRvY3JpbmUgdHVtb3JzKioKCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMDQ2ODE3NzE4MzAzMDA5CgoKLS0tCgotICoqTmVvcGxhc21zIG9mIHRoZSBOZXVyb2VuZG9jcmluZSBQYW5jcmVhcyBBbiBVcGRhdGUgaW4gdGhlIENsYXNzaWZpY2F0aW9uLCBEZWZpbml0aW9uLCBhbmQgTW9sZWN1bGFyIEdlbmV0aWMgQWR2YW5jZXMqKgoKaHR0cHM6Ly9qb3VybmFscy5sd3cuY29tL2FuYXRvbWljcGF0aG9sb2d5L0Fic3RyYWN0LzIwMTkvMDEwMDAvTmVvcGxhc21zX29mX3RoZV9OZXVyb2VuZG9jcmluZV9QYW5jcmVhc19fX0FuLjIuYXNweAoKLS0tCgoKCi0gKipQYXR0ZXJucyBvZiByZWN1cnJlbmNlIGFmdGVyIHJlc2VjdGlvbiBmb3IgcGFuY3JlYXRpYyBuZXVyb2VuZG9jcmluZSB0dW1vcnM6IHdobywgd2hlbiwgYW5kIHdoZXJlPyoqCgpbbGlua10oaHR0cHM6Ly93d3cucmVzZWFyY2hnYXRlLm5ldC9wdWJsaWNhdGlvbi8zMjkyNDc2ODNfUGF0dGVybnNfb2ZfcmVjdXJyZW5jZV9hZnRlcl9yZXNlY3Rpb25fZm9yX3BhbmNyZWF0aWNfbmV1cm9lbmRvY3JpbmVfdHVtb3JzX3dob193aGVuX2FuZF93aGVyZSkKCgoKCi0tLQoKCgoKCgoKCi0gKipUb3VjaCBpbXByaW50IGN5dG9sb2d5IG9uIGVuZG9zY29waWMgdWx0cmFzb3VuZCBmaW5l4oCQbmVlZGxlIGJpb3BzeSBwcm92aWRlcyBjb21wYXJhYmxlIHNhbXBsZSBxdWFsaXR5IGFuZCBkaWFnbm9zdGljIHlpZWxkIHRvIHN0YW5kYXJkIGV1c+KAkGZuYSBzcGVjaW1lbnMgaW4gdGhlIGV2YWx1YXRpb24gb2Ygc29saWQgcGFuY3JlYXRpYyBsZXNpb25zKioKCmh0dHBzOi8vb25saW5lbGlicmFyeS53aWxleS5jb20vZG9pL2Ficy8xMC4xMTExL2N5dC4xMjY2MgoKCi0tLQoKCi0gKipSYXRpb25hbGUgYW5kIGZlYXNpYmlsaXR5IG9mIG11Y2luIGV4cHJlc3Npb24gcHJvZmlsaW5nIGJ5IHFSVC1QQ1IgYXMgZGlhZ25vc3RpYyBiaW9tYXJrZXJzIGluIGN5dG9sb2d5IHNwZWNpbWVucyBvZiBwYW5jcmVhdGljIGNhbmNlcioqCgpbbGlua10oaHR0cHM6Ly93d3cucmVzZWFyY2hnYXRlLm5ldC9wdWJsaWNhdGlvbi8zMjc4Nzc2NDVfUmF0aW9uYWxlX2FuZF9mZWFzaWJpbGl0eV9vZl9tdWNpbl9leHByZXNzaW9uX3Byb2ZpbGluZ19ieV9xUlQtUENSX2FzX2RpYWdub3N0aWNfYmlvbWFya2Vyc19pbl9jeXRvbG9neV9zcGVjaW1lbnNfb2ZfcGFuY3JlYXRpY19jYW5jZXIpCgoKCgoKLS0tCgoKCgoKLSAqKkFkdmFuY2VzIGluIHRoZSBjeXRvbG9naWMgZGlhZ25vc2lzIG9mIGdhc3Ryb2VudGVyb3BhbmNyZWF0aWMgbmV1cm9lbmRvY3JpbmUgbmVvcGxhc21zKioKCmh0dHBzOi8vb25saW5lbGlicmFyeS53aWxleS5jb20vZG9pL2Ficy8xMC4xMDAyL2NuY3kuMjIwNzMKCgoKCgoKCi0tLQoKCgoKCgoKCgoKCgoKCgoKLSAqKkdlbmV0aWMgYXNzZXNzbWVudCBvZiByZWN1cnJlbnQgcGFuY3JlYXRpYyBoaWdoLXJpc2sgbGVzaW9ucyBpbiB0aGUgcmVtbmFudCBwYW5jcmVhczogTWV0YWNocm9ub3VzIG11bHRpZm9jYWwgbGVzaW9uIG9yIGxvY2FsIHJlY3VycmVuY2U/KioKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzAwMzk2MDYwMTgzMDc0MDIKCgotLS0KCi0gKipST0JPMiBpcyBhIHN0cm9tYSBzdXBwcmVzc29yIGdlbmUgaW4gdGhlIHBhbmNyZWFzIGFuZCBhY3RzIHZpYSBUR0YtzrIgc2lnbmFsbGluZyoqCgpodHRwczovL3d3dy5yZXNlYXJjaGdhdGUubmV0L3B1YmxpY2F0aW9uLzMyOTMyNDg3N19ST0JPMl9pc19hX3N0cm9tYV9zdXBwcmVzc29yX2dlbmVfaW5fdGhlX3BhbmNyZWFzX2FuZF9hY3RzX3ZpYV9UR0YtYl9zaWduYWxsaW5nCgoKLS0tCgotICoqTXV0YXRpb25zIGluIEJSQ0ExLCBCUkNBMiwgYW5kIFBBTEIyLCBhbmQgYSBwYW5lbCBvZiA1MCBjYW5jZXItYXNzb2NpYXRlZCBnZW5lcyBpbiBwYW5jcmVhdGljIGR1Y3RhbCBhZGVub2NhcmNpbm9tYSoqCgpEZWNlbWJlciAyMDE4U2NpZW50aWZpYyBSZXBvcnRzIDgoMSkKCkRPSTogMTAuMTAzOC9zNDE1OTgtMDE4LTI2NTI2LXgKCgpodHRwczovL3d3dy5yZXNlYXJjaGdhdGUubmV0L3B1YmxpY2F0aW9uLzMyNTM2ODI0NF9NdXRhdGlvbnNfaW5fQlJDQTFfQlJDQTJfYW5kX1BBTEIyX2FuZF9hX3BhbmVsX29mXzUwX2NhbmNlci1hc3NvY2lhdGVkX2dlbmVzX2luX3BhbmNyZWF0aWNfZHVjdGFsX2FkZW5vY2FyY2lub21hCgoKCgoKCi0tLQoKCgoKCgoKCgoKCgoKCgotICoqQ29vcmRpbmF0ZWx5IHRhcmdldGluZyBjZWxsIGN5Y2xlIGNoZWNrcG9pbnQgZnVuY3Rpb25zIGluIGludGVncmF0ZWQgbW9kZWxzIG9mIHBhbmNyZWF0aWMgY2FuY2VyKioKCgpodHRwOi8vY2xpbmNhbmNlcnJlcy5hYWNyam91cm5hbHMub3JnL2NvbnRlbnQvZWFybHkvMjAxOC8xMi8xMS8xMDc4LTA0MzIuQ0NSLTE4LTE2MjAKCgotLS0KCi0gKiptaVJOQSBhbmQgR2VuZSBFeHByZXNzaW9uIGluIFBhbmNyZWF0aWMgRHVjdGFsIEFkZW5vY2FyY2lub21hKioKCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMDAyOTQ0MDE4MzA1NTcxCgoKCgotLS0KCgoKCi0gKipDaXJjdWxhdGluZyBUdW1vciBDZWxscyBhbmQgQ2VsbC1GcmVlIEROQSBpbiBQYW5jcmVhdGljIER1Y3RhbCBBZGVub2NhcmNpbm9tYSoqCgoKaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMDAwMjk0NDAxNzMxMTgxMQoKCgoKCi0tLQoKCgoKLSAqKkdQRVIgaXMgYSBtZWNoYW5vcmVndWxhdG9yIG9mIHBhbmNyZWF0aWMgc3RlbGxhdGUgY2VsbHMgYW5kIHRoZSB0dW1vciBtaWNyb2Vudmlyb25tZW50KioKCgpodHRwOi8vZW1ib3IuZW1ib3ByZXNzLm9yZy9jb250ZW50L2Vhcmx5LzIwMTgvMTIvMDYvZW1ici4yMDE4NDY1NTYKCgoKLS0tCgoKCgotICoqR2VuZXRpYyBhbHRlcmF0aW9ucyBhbmFseXNpcyBpbiBwcm9nbm9zdGljIHN0cmF0aWZpZWQgZ3JvdXBzIGlkZW50aWZpZWQgVFA1MyBhbmQgQVJJRDFBIGFzIHBvb3IgY2xpbmljYWwgcGVyZm9ybWFuY2UgbWFya2VycyBpbiBpbnRyYWhlcGF0aWMgY2hvbGFuZ2lvY2FyY2lub21hKioKCkRlY2VtYmVyIDIwMThTY2llbnRpZmljIFJlcG9ydHMgOCgxKQoKRE9JOiAxMC4xMDM4L3M0MTU5OC0wMTgtMjU2NjktMQoKaHR0cHM6Ly93d3cucmVzZWFyY2hnYXRlLm5ldC9wdWJsaWNhdGlvbi8zMjUwMjA2NTFfR2VuZXRpY19hbHRlcmF0aW9uc19hbmFseXNpc19pbl9wcm9nbm9zdGljX3N0cmF0aWZpZWRfZ3JvdXBzX2lkZW50aWZpZWRfVFA1M19hbmRfQVJJRDFBX2FzX3Bvb3JfY2xpbmljYWxfcGVyZm9ybWFuY2VfbWFya2Vyc19pbl9pbnRyYWhlcGF0aWNfY2hvbGFuZ2lvY2FyY2lub21hCgoKLS0tCgoKCi0gKipLUkFTLCBOUkFTIGFuZCBCUkFGIGFuYWx5c2lzIG9mIGFtcHVsbGFyeSBhZGVub2NhcmNpbm9tYSBjbGFzc2lmaWVkIHVzaW5nIENLNywgQ0syMCwgTVVDMSBhbmQgTVVDMioqCgoKaHR0cHM6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wbWMvYXJ0aWNsZXMvUE1DNjIxOTk2NC8KCgoKCgoKCi0gKipNYXNzIFNwZWN0cm9tZXRyeS1CYXNlZCBDb21wcmVoZW5zaXZlIEFuYWx5c2lzIG9mIFBhbmNyZWF0aWMgQ3lzdCBGbHVpZHMqKgoKaHR0cHM6Ly93d3cuaGluZGF3aS5jb20vam91cm5hbHMvYm1yaS8yMDE4LzcxNjk1OTUvCgotLS0KCi0gKipBIOKAnENsZWFyZXLigJ0gVmlldyBvZiBQYW5jcmVhdGljIFBhdGhvbG9neSBBIFJldmlldyBvZiBUaXNzdWUgQ2xlYXJpbmcgYW5kIEFkdmFuY2VkIE1pY3Jvc2NvcHkgVGVjaG5pcXVlcyoqCgpodHRwczovL2pvdXJuYWxzLmx3dy5jb20vYW5hdG9taWNwYXRob2xvZ3kvQWJzdHJhY3QvMjAxOS8wMTAwMC9BX19DbGVhcmVyX19WaWV3X29mX1BhbmNyZWF0aWNfUGF0aG9sb2d5X19fQS4zLmFzcHgKCgotLS0KCi0gKipQYW5jcmVhdGljIER1Y3RhbCBBZGVub2NhcmNpbm9tYTogUmVjZW50IFVwZGF0ZXMqKgoKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzAwMDI5NDQwMTgzMDg1NTEKCgotLS0KCgotICoqR2VybWFuIE5hdGlvbmFsIENhc2UgQ29sbGVjdGlvbiBmb3IgZmFtaWxpYWwgcGFuY3JlYXRpYyBDYW5jZXIgKEZhUGFDYSkgLSBhY2NlcHRhbmNlIGFuZCBwc3ljaG9sb2dpY2FsIGFzcGVjdHMgb2YgYSBwYW5jcmVhdGljIGNhbmNlciBzY3JlZW5pbmcgcHJvZ3JhbSoqCgpodHRwczovL2hjY3Bqb3VybmFsLmJpb21lZGNlbnRyYWwuY29tL2FydGljbGVzLzEwLjExODYvczEzMDUzLTAxOC0wMTAwLTYKCgotLS0KCgotICoqUmVjZW50IHRyZWF0bWVudCBwYXR0ZXJucyBhbmQgc3Vydml2YWwgb3V0Y29tZXMgaW4gcGFuY3JlYXRpYyBjYW5jZXIgYWNjb3JkaW5nIHRvIGNsaW5pY2FsIHN0YWdlIGJhc2VkIG9uIHNpbmdsZS1jZW50ZXIgbGFyZ2UtY29ob3J0IGRhdGEqKgoKaHR0cHM6Ly9zeW5hcHNlLmtvcmVhbWVkLm9yZy9zZWFyY2gucGhwP3doZXJlPWF2aWV3JmlkPTEwLjE0NzAxL2FoYnBzLjIwMTguMjIuNC4zODYmY29kZT0yMTEwQUhCUFMmdm1vZGU9RlVMTAoKCgotLS0KCi0gKipBIHN5c3RlbWF0aWMgYXNzZXNzbWVudCBvZiBzdGF0aXN0aWNzLCByaXNrIGZhY3RvcnMsIGFuZCB1bmRlcmx5aW5nIGZlYXR1cmVzIGludm9sdmVkIGluIHBhbmNyZWF0aWMgY2FuY2VyKioKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzE4Nzc3ODIxMTgzMDUxMDEKCgoKLS0tCgoKLSAqKlBBTkNSRUFUSUMgQ0FOQ0VSIElOIEJSQVpJTDogTU9SVEFMSVRZIFRSRU5EUyBBTkQgUFJPSkVDVElPTlMgVU5USUwgMjAyOSoqCgoKaHR0cDovL3d3dy5zY2llbG8uYnIvc2NpZWxvLnBocD9waWQ9UzAwMDQtMjgwMzIwMTgwMDIzMDAyMzAmc2NyaXB0PXNjaV9hcnR0ZXh0CgoKLS0tCgoKLSAqKlJlc3VsdHMgb2YgRmlyc3Qtcm91bmQgb2YgU3VydmVpbGxhbmNlIGluIEluZGl2aWR1YWxzIGF0IEhpZ2gtcmlzayBvZiBQYW5jcmVhdGljIENhbmNlciBmcm9tIHRoZSBBSVNQIChJdGFsaWFuIEFzc29jaWF0aW9uIGZvciB0aGUgU3R1ZHkgb2YgdGhlIFBhbmNyZWFzKSBSZWdpc3RyeSoqCgoKaHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDEzOTUtMDE4LTA0MTQtegoKCi0tLQoKLSAqKkZhbWlsaWFsIFBhbmNyZWF0aWMgRHVjdGFsIEFkZW5vY2FyY2lub21hKioKCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMDAyOTQ0MDE4MzAyMDYyCgoKLS0tCgoKLSAqKkN1cnJlbnQgQXBwcm9hY2hlcyB0byBQYW5jcmVhdGljIENhbmNlciBTY3JlZW5pbmcqKgoKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzAwMDI5NDQwMTgzMDI1MjkKCi0tLQoKLSAqKlRoZSBpbXBhY3Qgb2YgdGhlIGltbXVuZSBtaWNyb2Vudmlyb25tZW50IGluIHBhdGllbnRzIHdpdGggR0VQLU5FVHMuKioKCmh0dHA6Ly9hc2NvcHVicy5vcmcvZG9pL2Ficy8xMC4xMjAwL0pDTy4yMDE5LjM3LjRfc3VwcGwuMjY3CgoKLS0tCgotICoqU3VyZ2VyeSBmb3IgUGFuY3JlYXRpYyBOZXVyb2VuZG9jcmluZSBUdW1vciBHMyBhbmQgQ2FyY2lub21hIEczIFNob3VsZCBiZSBDb25zaWRlcmVkIFNlcGFyYXRlbHkqKgoKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9hcnRpY2xlLzEwLjEyNDUvczEwNDM0LTAxOS0wNzI1Mi04CgotLS0KCi0gKipBIHNpbXBsZSBhbmQgcHJhY3RpY2FsIGluZGV4IHByZWRpY3RpbmcgdGhlIHByb2dub3NlcyBvZiB0aGUgcGF0aWVudHMgd2l0aCB3ZWxsLWRpZmZlcmVudGlhdGVkIHBhbmNyZWF0aWMgbmV1cm9lbmRvY3JpbmUgbmVvcGxhc21zKioKCmh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vYXJ0aWNsZS8xMC4xMDA3L3MwMDUzNS0wMTktMDE1NzAtMAoKLS0tCgo=